Fix windows build.
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-03-13  Sam Weinig  <sam@webkit.org>
2
3         Fix windows build.
4
5         * platform/network/cf/ResourceErrorCF.cpp:
6         (WebCore::ResourceError::ResourceError):
7         Add missing constructor.
8
9 2011-03-13  David Sosby  <dsosby@rim.com>
10
11         Reviewed by Dan Bernstein.
12
13         REGRESSION: Soft hyphen is not always rendered
14         https://bugs.webkit.org/show_bug.cgi?id=56017
15         
16         The check to flag a text block as hyphenated was only
17         occurring at break points in the line. If no break points
18         were found after the soft hyphen then the line would not
19         be flagged hyphenated. Adding a check for soft hyphen at
20         the end of the text run resolves the issue.
21
22         Test: fast/text/soft-hyphen-4.html
23
24         * rendering/RenderBlockLineLayout.cpp:
25         (WebCore::RenderBlock::findNextLineBreak):
26
27 2011-03-13  Dan Bernstein  <mitz@apple.com>
28
29         Reviewed by Mark Rowe.
30
31         REGRESSION (r80438): fast/text/hyphenate-character failing in pixel mode
32         https://bugs.webkit.org/show_bug.cgi?id=56280
33
34         * rendering/RenderBlockLineLayout.cpp:
35         (WebCore::tryHyphenating): Avoid subtracting 1 from an unsigned 0.
36
37 2011-03-13  Sam Weinig  <sam@webkit.org>
38
39         Reviewed by Anders Carlsson.
40
41         Add ability to create a WKErrorRef
42         <rdar://problem/9115768>
43         https://bugs.webkit.org/show_bug.cgi?id=56279
44
45         * WebCore.exp.in:
46         Add new exports.
47
48         * platform/network/cf/ResourceError.h:
49         * platform/network/cf/ResourceErrorCF.cpp:
50         (WebCore::ResourceError::platformCompare):
51         (WebCore::ResourceError::cfError):
52         (WebCore::ResourceError::operator CFErrorRef):
53         (WebCore::ResourceError::ResourceError):
54         (WebCore::ResourceError::cfStreamError):
55         (WebCore::ResourceError::operator CFStreamError):
56         * platform/network/mac/ResourceErrorMac.mm:
57         (WebCore::ResourceError::ResourceError):
58         (WebCore::ResourceError::platformCompare):
59         (WebCore::ResourceError::nsError):
60         (WebCore::ResourceError::operator NSError *):
61         (WebCore::ResourceError::cfError):
62         (WebCore::ResourceError::operator CFErrorRef):
63         Clean up ResourceError a bit and add ability to create a ResourceError from a CFErrorRef
64         regardless of whether CFNetwork is being used.
65
66 2011-03-13  Pratik Solanki  <psolanki@apple.com>
67
68         Reviewed by Brady Eidson.
69
70         Make adjustMIMETypeIfNecessary use CFNetwork directly
71         https://bugs.webkit.org/show_bug.cgi?id=55912
72
73         Convert category method [NSURLResponse adjustMIMETypeIfNecessary] to C function
74         WebCore::adjustMIMETypeIfNecessary() that takes a CFURLResponseRef and is functionally
75         identical.
76
77         Testing is covered by existing LayoutTests.
78
79         * WebCore.exp.in:
80         * platform/mac/WebCoreSystemInterface.h:
81         * platform/mac/WebCoreSystemInterface.mm:
82         * platform/network/mac/ResourceHandleMac.mm:
83         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
84         * platform/network/mac/WebCoreURLResponse.h:
85         * platform/network/mac/WebCoreURLResponse.mm:
86         (WebCore::createBinaryExtensionsSet):
87         (WebCore::createExtensionToMIMETypeMap):
88         (WebCore::mimeTypeFromUTITree):
89         (WebCore::adjustMIMETypeIfNecessary):
90
91 2011-03-13  Jeremy Moskovich  <jeremy@chromium.org>
92
93         Reviewed by Dimitri Glazkov.
94
95         Update comment in CSSValueKeywords.in
96         https://bugs.webkit.org/show_bug.cgi?id=56266
97
98         The enums the comment refers to were moved from RenderStyle.h to RenderStyleConstants.h
99         in r36579 but it appears that the comment in CSSValueKeywords.in wasn't updated.
100
101         No tests - just updating a comment.
102
103         * css/CSSValueKeywords.in:
104
105 2011-03-13  Anton D'Auria  <adauria@apple.com>
106
107         Reviewed by Alice Liu.
108
109         StorageTracker constructor shouldn't have initialization code and isMainThread() assertion
110         https://bugs.webkit.org/show_bug.cgi?id=56259
111
112         Move all StorageTracker initialization to
113         StorageTracker::initializeTracker. This also removes the
114         requirement that the StorageTracker constructor isn't run
115         on the main thread.
116
117         * storage/StorageTracker.cpp:
118         (WebCore::StorageTracker::initializeTracker):
119         (WebCore::StorageTracker::tracker):
120         (WebCore::StorageTracker::StorageTracker):
121
122 2011-03-13  Rob Buis  <rwlbuis@gmail.com>
123
124         Reviewed by Dave Hyatt.
125
126         REGRESSION (r61383): Navigation menu laid out incorrectly on aboardtheworld.com
127         https://bugs.webkit.org/show_bug.cgi?id=53470
128
129         Prefer !important over normal properties when dealing with duplicate properties in style rules.
130
131         Test: fast/css/duplicate-property-in-rule-important.html
132
133         * css/CSSMutableStyleDeclaration.cpp:
134         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
135
136 2011-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
137
138         Unreviewed, rolling out r80895.
139         http://trac.webkit.org/changeset/80895
140         https://bugs.webkit.org/show_bug.cgi?id=56261
141
142         Causing crashes in several tests including
143         t1202-counters-16-c.html (see
144         http://build.webkit.org/results/SnowLeopard%20Intel%20Leaks/r80956%20(15528)/results.html)
145         (Requested by dave_levin on #webkit).
146
147         * rendering/CounterNode.cpp:
148         (WebCore::CounterNode::CounterNode):
149         (WebCore::CounterNode::create):
150         (WebCore::CounterNode::resetRenderer):
151         (WebCore::CounterNode::resetRenderers):
152         (WebCore::CounterNode::recount):
153         (WebCore::CounterNode::insertAfter):
154         (WebCore::CounterNode::removeChild):
155         (WebCore::showTreeAndMark):
156         * rendering/CounterNode.h:
157         (WebCore::CounterNode::renderer):
158         * rendering/RenderCounter.cpp:
159         (WebCore::findPlaceForCounter):
160         (WebCore::RenderCounter::~RenderCounter):
161         (WebCore::RenderCounter::originalText):
162         (WebCore::RenderCounter::invalidate):
163         (WebCore::destroyCounterNodeWithoutMapRemoval):
164         (WebCore::RenderCounter::destroyCounterNodes):
165         (WebCore::RenderCounter::destroyCounterNode):
166         (WebCore::updateCounters):
167         (showCounterRendererTree):
168         * rendering/RenderCounter.h:
169         * rendering/RenderObjectChildList.cpp:
170         (WebCore::invalidateCountersInContainer):
171         (WebCore::RenderObjectChildList::invalidateCounters):
172         * rendering/RenderObjectChildList.h:
173
174 2011-03-12  Darin Adler  <darin@apple.com>
175
176         Reviewed by Dan Bernstein.
177
178         REGRESSION (r76474): IntegerArray hash hashes only 1/4 of the array
179         https://bugs.webkit.org/show_bug.cgi?id=56258
180
181         No tests because the wrong hashing is mostly harmless. The only symptom
182         we have seen is an occasional assertion in debug builds about the size
183         not being a multiple of two. But a worse hash is worse for performance too.
184
185         * platform/cf/BinaryPropertyList.cpp:
186         (WebCore::IntegerArrayHash::hash): Pass in the size in bytes rather
187         than the number of array entries.
188
189 2011-03-12  Cameron Zwarich  <zwarich@apple.com>
190
191         Not reviewed.
192
193         Fix the build with newer GCCs and remove some extra whitespae.
194
195         * bindings/js/SerializedScriptValue.cpp:
196         (WebCore::uint8_t):
197
198 2011-03-12  Cameron Zwarich  <zwarich@apple.com>
199
200         Rubber-stamped by Oliver Hunt.
201
202         Removed unused ARMv5 code. The ARMv5 case now falls under the general
203         unaligned accessed case.
204
205         * bindings/js/SerializedScriptValue.cpp:
206         (WebCore::CloneDeserializer::readLittleEndian):
207         (WebCore::CloneDeserializer::readString):
208
209 2011-03-12  Cameron Zwarich  <zwarich@apple.com>
210
211         Reviewed by Oliver Hunt.
212
213         WebCore fails to build with Clang on ARM
214         https://bugs.webkit.org/show_bug.cgi?id=56257
215
216         Add an explicit instantiation of writeLittleEndian for uint8_t and move it to
217         namespace scope, since explicit specializations are not allowed at class scope.
218
219         * bindings/js/SerializedScriptValue.cpp:
220         (WebCore::writeLittleEndian):
221
222 2011-03-11  Darin Adler  <darin@apple.com>
223
224         Reviewed by Sam Weinig.
225
226         Dragging image to desktop gives webloc instead of image file in WebKit2
227         https://bugs.webkit.org/show_bug.cgi?id=56193
228
229         * WebCore.exp.in: Added some additional exports. Re-sorted.
230
231 2011-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
232
233         Unreviewed, rolling out r80919.
234         http://trac.webkit.org/changeset/80919
235         https://bugs.webkit.org/show_bug.cgi?id=56251
236
237         all windows bots failed to compile this change (Requested by
238         loislo on #webkit).
239
240         * bridge/c/c_class.cpp:
241         * bridge/c/c_runtime.cpp:
242         * bridge/jni/JavaMethod.cpp:
243         * plugins/PluginViewNone.cpp:
244
245 2011-03-12  Patrick Gansterer  <paroga@webkit.org>
246
247         Unreviewed WinCE build fix for r80900.
248
249         * CMakeListsWinCE.txt: Removed IconDatabaseNone.cpp.
250
251 2011-03-12  Andras Becsi  <abecsi@webkit.org>
252
253         Unreviewed typo fix.
254
255         No new tests needed.
256
257         * WebCore.pro: Fix typo in header name.
258
259 2011-03-12  Pavel Feldman  <pfeldman@chromium.org>
260
261         Not reviewed: Inspect Element action regression fix.
262
263         * inspector/front-end/inspector.js:
264         (WebInspector.inspect):
265
266 2011-03-12  Ilya Tikhonovsky  <loislo@chromium.org>
267
268         Unreviewed. One line fix for inspector/dom-breakpoints.html
269
270         * inspector/front-end/BreakpointManager.js:
271         (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement.decorateNode):
272
273 2011-03-12  Ilya Tikhonovsky  <loislo@chromium.org>
274
275         Unreviewed build fix.
276
277         Almost all inspector tests are crashing after r80928.
278
279         * inspector/front-end/inspector.js:
280
281 2011-03-11  Pavel Feldman  <pfeldman@chromium.org>
282
283         Reviewed by Yury Semikhatsky.
284
285         Web Inspector: follow up to error reporting, fixing multiple regressions.
286         https://bugs.webkit.org/show_bug.cgi?id=56243
287
288         * inspector/InjectedScript.cpp:
289         (WebCore::InjectedScript::setPropertyValue):
290         * inspector/InjectedScript.h:
291         * inspector/Inspector.idl:
292         * inspector/InspectorDOMAgent.cpp:
293         (WebCore::InspectorDOMAgent::getChildNodes):
294         (WebCore::InspectorDOMAgent::getOuterHTML):
295         (WebCore::InspectorDOMAgent::getEventListenersForNode):
296         * inspector/InspectorDOMAgent.h:
297         * inspector/InspectorRuntimeAgent.cpp:
298         (WebCore::InspectorRuntimeAgent::setPropertyValue):
299         * inspector/InspectorRuntimeAgent.h:
300         * inspector/front-end/DOMAgent.js:
301         (WebInspector.DOMNode.prototype.setNodeName):
302         (WebInspector.DOMNode.prototype.setNodeValue):
303         (WebInspector.DOMNode.prototype.getChildNodes):
304         (WebInspector.DOMNode.prototype.getOuterHTML):
305         (WebInspector.DOMNode.prototype.setOuterHTML):
306         (WebInspector.DOMNode.prototype.removeNode):
307         (WebInspector.DOMNode.prototype.copyNode):
308         (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
309         (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
310         (WebInspector.EventListeners.getEventListenersForNode):
311         * inspector/front-end/DOMStorage.js:
312         (WebInspector.DOMStorage.prototype.getEntries):
313         (WebInspector.DOMStorage.prototype.setItem):
314         (WebInspector.DOMStorage.prototype.removeItem):
315         * inspector/front-end/DOMStorageItemsView.js:
316         (WebInspector.DOMStorageItemsView.prototype.update):
317         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
318         * inspector/front-end/ElementsTreeOutline.js:
319         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
320         (WebInspector.ElementsTreeElement.prototype.updateChildren):
321         ():
322         * inspector/front-end/EventListenersSidebarPane.js:
323         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
324         (WebInspector.EventListenersSidebarPane.prototype.update):
325         * inspector/front-end/ObjectPropertiesSection.js:
326         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression.callback):
327         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
328         * inspector/front-end/PropertiesSidebarPane.js:
329         (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
330         * inspector/front-end/RemoteObject.js:
331         (WebInspector.RemoteObject.prototype.setPropertyValue):
332         (WebInspector.RemoteObject.prototype.evaluate):
333         * inspector/front-end/inspector.js:
334
335 2011-03-12  Jer Noble  <jer.noble@apple.com>
336
337         Unreviewed build fix.
338
339         Fix GTK+ builds by wrapping sections of full screen code in USE(ACCELERATED_COMPOSITING)
340         checks.
341
342         * dom/Document.cpp:
343         (WebCore::Document::webkitWillEnterFullScreenForElement):
344         (WebCore::Document::webkitDidEnterFullScreenForElement):
345         (WebCore::Document::webkitWillExitFullScreenForElement):
346         (WebCore::Document::webkitDidExitFullScreenForElement):
347
348 2011-03-12  Ryuan Choi  <ryuan.choi@samsung.com>
349
350         Unreviewed build fix.
351
352         [EFL] Fix build break because of several reason.
353         https://bugs.webkit.org/show_bug.cgi?id=56244
354
355         * CMakeLists.txt: Add missing files.
356         * platform/posix/FileSystemPOSIX.cpp: Add PLATFORM(EFL).
357
358 2011-03-11  Yury Semikhatsky  <yurys@chromium.org>
359
360         Reviewed by Pavel Feldman.
361
362         Web Inspector: move profiler related methods from inspector agent to profiler agent
363         https://bugs.webkit.org/show_bug.cgi?id=56204
364
365         * inspector/Inspector.idl:
366         * inspector/InspectorAgent.cpp:
367         (WebCore::InspectorAgent::InspectorAgent):
368         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
369         (WebCore::InspectorAgent::setFrontend):
370         (WebCore::InspectorAgent::disconnectFrontend):
371         (WebCore::InspectorAgent::populateScriptObjects):
372         (WebCore::InspectorAgent::showProfilesPanel):
373         * inspector/InspectorAgent.h:
374         * inspector/InspectorController.cpp:
375         (WebCore::InspectorController::enableProfiler):
376         (WebCore::InspectorController::disableProfiler):
377         (WebCore::InspectorController::profilerEnabled):
378         (WebCore::InspectorController::startUserInitiatedProfiling):
379         (WebCore::InspectorController::stopUserInitiatedProfiling):
380         (WebCore::InspectorController::isRecordingUserInitiatedProfile):
381         * inspector/InspectorInstrumentation.cpp:
382         (WebCore::InspectorInstrumentation::profilerEnabledImpl):
383         * inspector/InspectorProfilerAgent.cpp:
384         (WebCore::InspectorProfilerAgent::create):
385         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
386         (WebCore::InspectorProfilerAgent::enable):
387         (WebCore::InspectorProfilerAgent::disable):
388         (WebCore::InspectorProfilerAgent::setFrontend):
389         (WebCore::InspectorProfilerAgent::clearFrontend):
390         (WebCore::InspectorProfilerAgent::restore):
391         (WebCore::InspectorProfilerAgent::restoreEnablement):
392         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
393         (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
394         * inspector/InspectorProfilerAgent.h:
395         (WebCore::InspectorProfilerAgent::start):
396         (WebCore::InspectorProfilerAgent::stop):
397         * inspector/front-end/ProfileView.js:
398         (WebInspector.CPUProfileType.prototype.buttonClicked):
399         * inspector/front-end/ProfilesPanel.js:
400         (WebInspector.ProfilesPanel):
401         (WebInspector.ProfilesPanel.prototype._registerProfileType):
402         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
403         * inspector/front-end/inspector.js:
404         (WebInspector._createPanels):
405
406 2011-03-11  Jer Noble  <jer.noble@apple.com>
407
408         Reviewed by Anders Carlsson.
409
410         WebCore::Document should notify ChromeClient when the full screen renderer's backing changes.
411         https://bugs.webkit.org/show_bug.cgi?id=56226
412
413         * dom/Document.cpp:
414         (WebCore::Document::webkitWillEnterFullScreenForElement): Call setRootFullScreenLayer().
415         (WebCore::Document::webkitDidEnterFullScreenForElement): Ditto.
416         (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
417         (WebCore::Document::webkitDidExitFullScreenForElement): Ditto.
418         (WebCore::Document::setFullScreenRendererSize): Layout after setting the renderer's size.
419
420 2011-03-11  Jer Noble  <jer.noble@apple.com>
421
422         Reviewed by Anders Carlsson.
423
424         Create new interface stubs to support full screen mode in WebKit2.
425
426         WebKit2: Plumb new full screen animation APIs through WebKit2.
427         https://bugs.webkit.org/show_bug.cgi?id=55993
428
429         * page/ChromeClient.h:
430         (WebCore::ChromeClient::setRootFullScreenLayer): Added.
431
432 2011-03-11  Oliver Hunt  <oliver@apple.com>
433
434         Reviewed by Gavin Barraclough.
435
436         Ensure all values are correctly tagged in the registerfile
437         https://bugs.webkit.org/show_bug.cgi?id=56214
438
439         Make sure everything builds still.
440
441         * bridge/c/c_class.cpp:
442         * bridge/c/c_runtime.cpp:
443         * bridge/jni/JavaMethod.cpp:
444         * plugins/PluginViewNone.cpp:
445
446 2011-03-11  Mark Rowe  <mrowe@apple.com>
447
448         Fix the 32-bit build.
449
450         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
451         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
452
453 2011-03-11  Mark Rowe  <mrowe@apple.com>
454
455         Rubber-stamped by Eric Carlsson.
456
457         <rdar://problem/9124537> Crashes during layout tests due to overrelease of AVFoundation objects.
458
459         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
460         (WebCore::MediaPlayerPrivateAVFoundationObjC::createContextVideoRenderer):
461         (WebCore::MediaPlayerPrivateAVFoundationObjC::setAsset):
462
463 2011-03-11  Chris Marrin  <cmarrin@apple.com>
464
465         Unreviewed.
466
467         Fixes an error with the checkin for https://bugs.webkit.org/show_bug.cgi?id=52468
468
469         * platform/graphics/ca/GraphicsLayerCA.cpp:
470         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
471
472 2011-03-11  Brady Eidson  <beidson@apple.com>
473
474         Attempted Qt build fix for https://bugs.webkit.org/show_bug.cgi?id=56216
475
476         * loader/icon/IconDatabase.h: Make this guy public.
477
478 2011-03-11  Brady Eidson  <beidson@apple.com>
479
480         Attempted Qt build fix for https://bugs.webkit.org/show_bug.cgi?id=56216
481
482         * loader/icon/IconDatabase.h:
483         (WebCore::IconDatabase::delayDatabaseCleanup): Maybe Qt has Icon Database disabled, so we need to define this here?
484
485 2011-03-11  Brady Eidson  <beidson@apple.com>
486
487         https://bugs.webkit.org/show_bug.cgi?id=56216
488         Fix the Qt build following the same pattern of the patch.
489
490         * loader/icon/IconDatabase.h:
491         * loader/icon/IconDatabaseBase.cpp:
492         (WebCore::IconDatabaseBase::databasePath): Added to the virtual base.
493         * loader/icon/IconDatabaseBase.h:
494         (WebCore::IconDatabaseBase::isOpen): Ditto.
495
496 2011-03-11  Ben Taylor  <bentaylor.solx86@gmail.com>
497
498         Reviewed by Alexey Proskuryakov.
499
500         https://bugs.webkit.org/show_bug.cgi?id=56198
501         Fix conditional which had an int for one case and a pointer for another.
502
503         No new tests. Fix compilation on Solaris 10 with SunStudio 12 C++
504
505         * loader/appcache/ApplicationCacheGroup.cpp:
506         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
507
508 2011-03-11  Brady Eidson  <beidson@apple.com>
509
510         Windows build fix.
511
512         * history/HistoryItem.cpp:
513         * loader/icon/IconDatabaseBase.cpp:
514
515 2011-03-11  Brady Eidson  <beidson@apple.com>
516
517         Reviewed by Sam Weinig.
518
519         <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56216
520         Rework disabled IconDatabase builds while allowing for a pluggable icon database implementation.
521
522         Project file stuff:
523         * Android.mk:
524         * CMakeLists.txt:
525         * GNUmakefile.am:
526         * WebCore.gyp/WebCore.gyp:
527         * WebCore.gypi:
528         * WebCore.pro:
529         * WebCore.xcodeproj/project.pbxproj:
530         * WebCore.vcproj/WebCore.vcproj:
531
532         * loader/icon/IconDatabase.cpp:
533         * loader/icon/IconDatabase.h: Inherit from IconDatabaseBase.
534
535         * loader/icon/IconDatabaseBase.cpp: Added.
536         (WebCore::IconDatabaseBase::iconURLForPageURL):
537         (WebCore::iconDatabase):
538         (WebCore::setGlobalIconDatabase):
539         * loader/icon/IconDatabaseBase.h: Added.
540         (WebCore::IconDatabaseBase::IconDatabaseBase):
541         (WebCore::IconDatabaseBase::~IconDatabaseBase):
542         (WebCore::IconDatabaseBase::setEnabled):
543         (WebCore::IconDatabaseBase::isEnabled):
544         (WebCore::IconDatabaseBase::defaultIcon):
545         (WebCore::IconDatabaseBase::retainIconForPageURL):
546         (WebCore::IconDatabaseBase::releaseIconForPageURL):
547         (WebCore::IconDatabaseBase::iconForPageURL):
548         (WebCore::IconDatabaseBase::setIconURLForPageURL):
549         (WebCore::IconDatabaseBase::setIconDataForIconURL):
550         (WebCore::IconDatabaseBase::iconDataKnownForIconURL):
551         (WebCore::IconDatabaseBase::loadDecisionForIconURL):
552         (WebCore::IconDatabaseBase::pageURLMappingCount):
553         (WebCore::IconDatabaseBase::retainedPageURLCount):
554         (WebCore::IconDatabaseBase::iconRecordCount):
555         (WebCore::IconDatabaseBase::iconRecordCountWithData):
556         (WebCore::IconDatabaseBase::importIconURLForPageURL):
557         (WebCore::IconDatabaseBase::importIconDataForIconURL):
558         (WebCore::IconDatabaseBase::shouldStopThreadActivity):
559         (WebCore::IconDatabaseBase::open):
560         (WebCore::IconDatabaseBase::close):
561         (WebCore::IconDatabaseBase::removeAllIcons):
562         (WebCore::IconDatabaseBase::setPrivateBrowsingEnabled):
563         (WebCore::IconDatabaseBase::setClient):
564
565         * loader/icon/IconDatabaseNone.cpp: Removed.
566
567 2011-03-11  Brady Eidson  <beidson@apple.com>
568
569         Attempt at a build-fix for https://bugs.webkit.org/show_bug.cgi?id=51878
570
571         * page/PageGroup.h: Declare this method, even if the definition will end up being empty.
572
573 2011-03-11  Michael Nordman  <michaeln@google.com>
574
575         Reviewed by Dmitry Titov.
576
577         Adding the '~' to the dtor (duh).
578
579         No new tests.
580
581         * storage/SQLCallbackWrapper.h:
582         (WebCore::SQLCallbackWrapper::~SQLCallbackWrapper):
583
584 2011-03-11  Carol Szabo  <carol.szabo@nokia.com>
585
586         Reviewed by David Hyatt.
587
588         Introduced double linkage between a CounterNode and its display renderer.
589
590         use of freed pointer in WebCore::RenderCounter::originalText()
591         https://bugs.webkit.org/show_bug.cgi?id=56065
592
593         No new tests. This bug could only be reproduced manually by
594         refreshing the page during load at a critical point.
595         See bug attachment for testing.
596
597         * rendering/CounterNode.cpp:
598         Introduced new member "m_owner" to store the renderer that has the
599         style directives that produce the CounterNode.
600         Repurposed m_renderer to reffer to the RenderCounter that shows the
601         CounterNode.
602         (WebCore::CounterNode::CounterNode):
603         Updated member initialization.
604         (WebCore::CounterNode::create):
605         (WebCore::CounterNode::resetRenderer):
606         (WebCore::CounterNode::resetRenderers):
607         (WebCore::CounterNode::recount):
608         (WebCore::CounterNode::removeChild):
609         (WebCore::CounterNode::insertAfter):
610         No functional changes.
611         (WebCore::showTreeAndMark):
612         Added flushing to ensure that the output is complete.
613         * rendering/CounterNode.h:
614         (WebCore::CounterNode::owner):
615         Renamed from renderer()
616         (WebCore::CounterNode::renderer):
617         (WebCore::CounterNode::setRenderer):
618         Added new accessors for the display renderer.
619         * rendering/RenderCounter.cpp:
620         (WebCore::findPlaceForCounter):
621         Fixed comments. No functional changes.
622         (WebCore::RenderCounter::~RenderCounter):
623         Made sure that the CounterNode that this renderers displays is
624         detached from this.
625         (WebCore::RenderCounter::originalText):
626         (WebCore::RenderCounter::invalidate):
627         Added code to update m_renderer on the displayed CounterNode.
628         (WebCore::destroyCounterNodeWithoutMapRemoval):
629         (WebCore::RenderCounter::destroyCounterNodes):
630         (WebCore::RenderCounter::destroyCounterNode):
631         (WebCore::updateCounters):
632         No change, just kept code in line with the changes above.
633         (showCounterRendererTree):
634         Added fflush to ensure complete display.
635         * rendering/RenderCounter.h:
636         * rendering/RenderObjectChildList.cpp:
637         * rendering/RenderObjectChildList.h:
638         Removed unneeded invalidateCounters related functions.
639
640 2011-03-11  Luke Macpherson   <macpherson@chromium.org>
641
642         Reviewed by Eric Seidel.
643
644         Introduce lookup-table based approach for applying CSS properties.
645         The aim is to be a starting point for refactoring
646         CSSStyleSelector::applyProperty() into more readable, maintainable code.
647         https://bugs.webkit.org/show_bug.cgi?id=54707
648
649         No new behavior / covered by existing tests.
650
651         * css/CSSStyleApplyProperty.cpp: Added.
652         (WebCore::ApplyPropertyNull):
653         Class that provides empty implementations of inherit, initial, value.
654         (WebCore::ApplyPropertyDefault::ApplyPropertyDefault):
655         Class that calls the appropriate RenderStyle setters directly.
656         (WebCore::ApplyPropertyColorBase::ApplyPropertyColorBase):
657         Class for handling CSSProperty*Color.
658         (WebCore::ApplyPropertyColor::ApplyPropertyColor):
659         Class for handling CSSPropertyColor.
660         (WebCore::CSSStyleApplyProperty::sharedCSSStyleApplyProperty):
661         Singleton initializer.
662         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
663         Constructor that bulds up the map from property id to apply-er objects.
664         * css/CSSStyleApplyProperty.h: Added.
665         (WebCore::CSSStyleApplyProperty::inherit):
666         Handle the inherit case for a given property.
667         (WebCore::CSSStyleApplyProperty::initial):
668         Handle the initial case for a given property.
669         (WebCore::CSSStyleApplyProperty::value):
670         Apply a value to a given property.
671         (WebCore::CSSStyleApplyProperty::implements):
672         Returns true if the provided property id is implemented.
673         (WebCore::CSSStyleApplyProperty::index):
674         Private function to determine the index of a property the property map.
675         (WebCore::CSSStyleApplyProperty::valid):
676         Function to determine that a given property id is valid.
677         (WebCore::CSSStyleApplyProperty::setPropertyValue):
678         (WebCore::CSSStyleApplyProperty::propertyValue):
679         * css/CSSStyleSelector.cpp:
680         (WebCore::CSSStyleSelector::CSSStyleSelector):
681         Get reference to the CSSStyleApplyProperty singleton.
682         (WebCore::CSSStyleSelector::applyProperty):
683         Now calls into CSSStyleApplyProperty for implemented property ids.
684         Deleted color-related methods from the property id switch.
685         * css/CSSStyleSelector.h:
686         (WebCore::CSSStyleSelector::style):
687         Made public to allow access from CSSStyleApplyProperty.
688         (WebCore::CSSStyleSelector::parentStyle):
689         Made public to allow access from CSSStyleApplyProperty.
690         * rendering/style/RenderStyle.h:
691         Made CSSStyleApplyProperty a friend class. Necessary because it needs
692         to access the private getters and setters on this clsass.
693
694 2011-03-11  Anton D'Auria  <adauria@apple.com>
695
696         Reviewed and landed by Brady Eidson.
697
698         Add WebKit1 API to view and delete local storage
699         https://bugs.webkit.org/show_bug.cgi?id=51878
700
701         Created StorageTracker as a central point for tracking and deleting LocalStorage per origin.
702         StorageTracker maintains its own database of origin identifiers and backing db paths,
703         and this allows it to contain more relational data in the future, like variable quotas per origin.
704
705         On initialization, StorageTracker syncs its database with LocalStorage files on disk. It adds
706         an origin entry when StorageAreaSync performs a first sync for an origin.
707
708         All StorageTracker file operations are performed on one background thread with a task queue.
709
710         Tests: storage/domstorage/localstorage/storagetracker/storage-tracker-1-prepare.html
711                storage/domstorage/localstorage/storagetracker/storage-tracker-2-create.html
712                storage/domstorage/localstorage/storagetracker/storage-tracker-3-delete-all.html
713                storage/domstorage/localstorage/storagetracker/storage-tracker-4-create.html
714                storage/domstorage/localstorage/storagetracker/storage-tracker-5-delete-one.html
715
716         * GNUmakefile.am:
717         * WebCore.exp.in:
718         * WebCore.gypi:
719         * WebCore.pro:
720         * WebCore.vcproj/WebCore.vcproj:
721         * WebCore.xcodeproj/project.pbxproj:
722         * page/PageGroup.cpp:
723         (WebCore::PageGroup::clearLocalStorageForAllOrigins):
724         (WebCore::PageGroup::clearLocalStorageForOrigin):
725         (WebCore::PageGroup::syncLocalStorage):
726         (WebCore::PageGroup::numberOfPageGroups):
727         * page/PageGroup.h:
728         * platform/chromium/FileSystemChromium.cpp:
729         (WebCore::listDirectory):
730         * platform/posix/FileSystemPOSIX.cpp:
731         (WebCore::listDirectory):
732         * storage/LocalStorageTask.cpp:
733         (WebCore::LocalStorageTask::LocalStorageTask):
734         (WebCore::LocalStorageTask::performTask):
735         * storage/LocalStorageTask.h:
736         (WebCore::LocalStorageTask::createOriginIdentifiersImport):
737         (WebCore::LocalStorageTask::createSetOriginDetails):
738         (WebCore::LocalStorageTask::createDeleteOrigin):
739         (WebCore::LocalStorageTask::createDeleteAllOrigins):
740         * storage/StorageAreaImpl.cpp:
741         (WebCore::StorageAreaImpl::clearForOriginDeletion):
742         (WebCore::StorageAreaImpl::sync):
743         * storage/StorageAreaImpl.h:
744         * storage/StorageAreaSync.cpp:
745         (WebCore::StorageAreaSync::scheduleCloseDatabase):
746         (WebCore::StorageAreaSync::openDatabase):
747         (WebCore::StorageAreaSync::sync):
748         (WebCore::StorageAreaSync::deleteEmptyDatabase):
749         (WebCore::StorageAreaSync::scheduleSync):
750         * storage/StorageAreaSync.h:
751         * storage/StorageNamespace.h:
752         * storage/StorageNamespaceImpl.cpp:
753         (WebCore::StorageNamespaceImpl::clearOriginForDeletion):
754         (WebCore::StorageNamespaceImpl::clearAllOriginsForDeletion):
755         (WebCore::StorageNamespaceImpl::sync):
756         * storage/StorageNamespaceImpl.h:
757         * storage/StorageTracker.cpp: Added.
758         (WebCore::StorageTracker::initializeTracker):
759         (WebCore::StorageTracker::tracker):
760         (WebCore::StorageTracker::StorageTracker):
761         (WebCore::StorageTracker::setStorageDirectoryPath):
762         (WebCore::StorageTracker::trackerDatabasePath):
763         (WebCore::StorageTracker::openTrackerDatabase):
764         (WebCore::StorageTracker::importOriginIdentifiers):
765         (WebCore::StorageTracker::syncImportOriginIdentifiers):
766         (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
767         (WebCore::StorageTracker::setOriginDetails):
768         (WebCore::StorageTracker::scheduleTask):
769         (WebCore::StorageTracker::syncSetOriginDetails):
770         (WebCore::StorageTracker::origins):
771         (WebCore::StorageTracker::deleteAllOrigins):
772         (WebCore::StorageTracker::syncDeleteAllOrigins):
773         (WebCore::StorageTracker::deleteOrigin):
774         (WebCore::StorageTracker::syncDeleteOrigin):
775         (WebCore::StorageTracker::willDeleteAllOrigins):
776         (WebCore::StorageTracker::willDeleteOrigin):
777         (WebCore::StorageTracker::canDeleteOrigin):
778         (WebCore::StorageTracker::cancelDeletingOrigin):
779         (WebCore::StorageTracker::setClient):
780         (WebCore::StorageTracker::syncLocalStorage):
781         * storage/StorageTracker.h: Added.
782         * storage/StorageTrackerClient.h: Added.
783         (WebCore::StorageTrackerClient::~StorageTrackerClient):
784
785 2011-03-11  Steve Block  <steveblock@google.com>
786
787         Reviewed by Jeremy Orlow.
788
789         JavaMethod does not correctly check for a null jstring for the method name
790         https://bugs.webkit.org/show_bug.cgi?id=56187
791
792         No new tests, simple typo fix.
793
794         * bridge/jni/JavaMethod.cpp:
795         (JavaMethod::JavaMethod):
796
797 2011-03-11  Adrienne Walker  <enne@google.com>
798
799         Reviewed by James Robinson.
800
801         [chromium] Compositor uses too much texture memory for scrollbars
802         https://bugs.webkit.org/show_bug.cgi?id=56212
803
804         Compositor invalidations can be off the page (and very large), but
805         scrollbars only need to care about the invalidation that's visible.
806         The large invalidation was causing the tiler layer size to grow
807         needlessly larger than the scrollbar.
808
809         * platform/graphics/chromium/LayerRendererChromium.cpp:
810         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
811
812 2011-03-11  David Hyatt  <hyatt@apple.com>
813
814         Reviewed by Simon Fraser.
815
816         https://bugs.webkit.org/show_bug.cgi?id=52987
817         
818         REGRESSION: Overflowing columns not repainted correctly
819         
820         Make sure to add in column overflow as visual overflow as well.  It was only propagating layout overflow, which is obviously not
821         sufficient, since blocks paint their own columns.
822
823         Added fast/multicol/scrolling-overflow.html
824
825         * rendering/RenderBlock.cpp:
826         (WebCore::RenderBlock::addOverflowFromChildren):
827
828 2011-03-11  Matthew Delaney  <mdelaney@apple.com>
829
830         Reviewed by Simon Fraser.
831
832         Set canvasUsesAcceleratedDrawing setting to be off(false) by default
833         https://bugs.webkit.org/show_bug.cgi?id=56215
834
835         No new tests. Does not affect behavior. Just keeping the setting off by default.
836
837         * page/Settings.cpp:
838         (WebCore::Settings::Settings):
839
840 2011-03-11  Andy Estes  <aestes@apple.com>
841
842         Reviewed by David Hyatt.
843
844         Table cells with dynamically added percentage height descendants do not
845         grow in size if the table has already been laid out.
846         https://bugs.webkit.org/show_bug.cgi?id=56174
847         
848         Table cells ignore their specified size and collapse to fit their
849         children. When a descendent with percentage height is present before
850         the table is first laid out, the descendent is sized based on the
851         specified size of the table cell. However, when the child isn't present
852         when the table is first laid out, the table cell ignores its specified
853         size and collapses down to 0. Then, when the child div is added in a
854         separate run loop iteration, it is sized to be 100% of the collapsed
855         cell height instead of 100% of the cell's specified height. We should
856         not get different layouts depending on the timing of tree construction.
857         
858         Fix this by clearing intrinsic padding before calculating the table
859         cell's override height when we detect a child that should flex the
860         table cell.
861
862         Test: fast/table/dynamic-descendant-percentage-height.html
863
864         * rendering/RenderTableCell.cpp:
865         (WebCore::RenderTableCell::setOverrideSizeFromRowHeight): clear
866         intrinsic padding before setting the override size.
867         * rendering/RenderTableCell.h:
868         * rendering/RenderTableSection.cpp:
869         (WebCore::RenderTableSection::layoutRows): Call
870         setOverrideSizeFromRowHeight() instead of setOverrideSize().
871
872 2011-03-11  Michael Nordman  <michaeln@google.com>
873
874         Reviewed by David Levin.
875
876         Add SQLCallbackWrapper
877         Instead of directly holding RefPtrs to the Callback objects in SQLStatement and SQLTransaction, hold a wrapper objects
878         which holds those references whose dtors will schedule the release of those references on the ScriptExecution thread.
879         https://bugs.webkit.org/show_bug.cgi?id=55919
880
881         No new tests, existing tests apply.
882
883         * GNUmakefile.am:
884         * WebCore.gypi:
885         * WebCore.pro:
886         * WebCore.vcproj/WebCore.vcproj:
887         * WebCore.xcodeproj/project.pbxproj:
888         * storage/SQLCallbackWrapper.h: Added.
889         (WebCore::SQLCallbackWrapper::SQLCallbackWrapper):
890         (WebCore::SQLCallbackWrapper::clear):
891         (WebCore::SQLCallbackWrapper::unwrap):
892         (WebCore::SQLCallbackWrapper::hasCallback):
893         (WebCore::SQLCallbackWrapper::safeRelease):
894         * storage/SQLStatement.cpp:
895         (WebCore::SQLStatement::create):
896         (WebCore::SQLStatement::SQLStatement):
897         (WebCore::SQLStatement::performCallback):
898         * storage/SQLStatement.h:
899         (WebCore::SQLStatement::hasStatementCallback):
900         (WebCore::SQLStatement::hasStatementErrorCallback):
901         * storage/SQLTransaction.cpp:
902         (WebCore::SQLTransaction::SQLTransaction):
903         (WebCore::SQLTransaction::executeSQL):
904         (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
905         (WebCore::SQLTransaction::deliverTransactionCallback):
906         (WebCore::SQLTransaction::deliverStatementCallback):
907         (WebCore::SQLTransaction::postflightAndCommit):
908         (WebCore::SQLTransaction::deliverSuccessCallback):
909         (WebCore::SQLTransaction::handleTransactionError):
910         (WebCore::SQLTransaction::deliverTransactionErrorCallback):
911         * storage/SQLTransaction.h:
912
913 2011-03-11  Eric Carlson  <eric.carlson@apple.com>
914
915         Reviewed by Sam Weinig.
916
917         <rdar://problem/8955589> Adopt AVFoundation media back end on Lion.
918
919         No new tests, existing media tests cover this.
920
921         * WebCore.xcodeproj/project.pbxproj:
922         * platform/graphics/MediaPlayer.cpp:
923         (WebCore::installedMediaEngines): Register MediaPlayerPrivateAVFoundationObjC.
924         (WebCore::bestMediaEngineForTypeAndCodecs): Kill some whitespace.
925         (WebCore::MediaPlayer::loadWithNextMediaEngine): Ditto.
926         (WebCore::MediaPlayer::inMediaDocument): Ditto.
927         * platform/graphics/MediaPlayer.h:
928
929         * platform/graphics/avfoundation: Added.
930         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: Added.
931         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: Added.
932
933         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: Added.
934         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: Added.
935
936 2011-03-11  Dean Jackson  <dino@apple.com>
937
938         Reviewed by Simon Fraser.
939
940         https://bugs.webkit.org/show_bug.cgi?id=56205
941         m_restrictions needs to allow multiple values (a bitfield)
942
943         HTMLMediaElement::m_restrictions needs to hold multiple values, so
944         change BehaviorRestrictions to an unsigned typedef and rename the
945         existing enum BehaviorRestrictionFlags.
946
947         * html/HTMLMediaElement.h:
948         (WebCore::HTMLMediaElement::setBehaviorRestrictions):
949
950 2011-03-11  David Hyatt  <hyatt@apple.com>
951
952         Reviewed by Dan Bernstein.
953
954         https://bugs.webkit.org/show_bug.cgi?id=47206
955         
956         Table rows don't support ::before/::after.  Add support to RenderTableRow::styleDidChange so that ::before/::after content gets
957         properly constructed.
958
959         Added fast/css-generated-content/table-row-before-after.html
960
961         * rendering/RenderTableRow.cpp:
962         (WebCore::RenderTableRow::styleDidChange):
963         * rendering/RenderTableRow.h:
964
965 2011-03-11  James Robinson  <jamesr@chromium.org>
966
967         Reviewed by Kenneth Russell.
968
969         [chromium] Avoid updating a composited layer&apos;s contents if the layer has nonpositive dimensions
970         https://bugs.webkit.org/show_bug.cgi?id=56209
971
972         This matches the behavior prior to r80482.  No test since the only changes in
973         behavior are avoiding work on invisible layers, which is unobservable,
974         and fixing a crash due to bug 56153.
975
976         * platform/graphics/chromium/LayerRendererChromium.cpp:
977         (WebCore::LayerRendererChromium::updateContentsRecursive):
978
979 2011-03-11  David Hyatt  <hyatt@apple.com>
980
981         Reviewed by Simon Fraser.
982
983         https://bugs.webkit.org/show_bug.cgi?id=47159
984         
985         CSS2.1 failures in background position parsing.
986         
987         Rewrite background position component parsing to match the spec.  Our old parsing would allow "100% left" to be valid
988         when it should not have.  Rename parseFillPositionXY to parseFillPositionComponent and pass in enough information for
989         it to understand what the first component was.
990         
991         For individual property parsing using background-position-x/y, I added new functions that just handle that without
992         worrying about the other component.
993         
994         In order to pass the CSS2.1 test, I also had to fix multiple background parsing.  The number of layers in multiple
995         backgrounds is determined solely by the background-image property and not by any of the other properties.  cullEmptyLayers
996         has been changed to always consider a layer empty if it has no image set, even if other properties are set.
997         
998         A number of layout tests had to be patched as they were invalid.  A couple of them relied on incorrect background-position
999         parsing (e.g., "50 left") and another relied on incorrect multiple background parsing.  It's not clear if the computed style
1000         should actually include the additional values when no image is set though, so that should perhaps be the subject of a 
1001         follow-up bug.
1002
1003         Added fast/backgrounds/background-position-parsing.html
1004
1005         * css/CSSParser.cpp:
1006         (WebCore::CSSParser::parseFillPositionX):
1007         (WebCore::CSSParser::parseFillPositionY):
1008         (WebCore::CSSParser::parseFillPositionComponent):
1009         (WebCore::CSSParser::parseFillPosition):
1010         (WebCore::CSSParser::parseFillProperty):
1011         (WebCore::CSSParser::parseTransformOrigin):
1012         (WebCore::CSSParser::parsePerspectiveOrigin):
1013         * css/CSSParser.h:
1014         * rendering/style/FillLayer.cpp:
1015         (WebCore::FillLayer::fillUnsetProperties):
1016         (WebCore::FillLayer::cullEmptyLayers):
1017
1018 2011-03-11  Vangelis Kokkevis  <vangelis@chromium.org>
1019
1020         Reviewed by James Robinson.
1021
1022         [chromium] Allow large layers with non-identity transforms to be drawn
1023         as long as their visible portion is smaller than the largest supported
1024         texture size. This code will soon be replaced by tiled layers.
1025         https://bugs.webkit.org/show_bug.cgi?id=55984
1026
1027         Test: platform/chromium/compositing/huge-layer-rotated.html
1028
1029         * platform/graphics/chromium/ContentLayerChromium.cpp:
1030         (WebCore::ContentLayerChromium::updateContentsIfDirty):
1031         (WebCore::ContentLayerChromium::draw):
1032         * platform/graphics/chromium/ContentLayerChromium.h:
1033
1034 2011-03-09  Chris Marrin  <cmarrin@apple.com>
1035
1036         Reviewed by Adam Roben.
1037
1038         REGRESSION (5.0.3-ToT): Scrolling text doesn&apos;t scroll in Star Wars intro animation
1039         https://bugs.webkit.org/show_bug.cgi?id=52468
1040
1041         Added WIN32 to the ifdef controlling whether animations are applied in normal or
1042         reverse order. On Mac, animations used to be applied in reverse, but 
1043         <rdar://problem/7095638> fixed this in the release after Snow Leopard.
1044         But that patch has not be applied to the Safari Windows SDK yet. For now
1045         I've made Windows use the reverse order logig. <rdar://problem/9112233> is
1046         tracking the inclusion of the patch on Windows.
1047
1048         * platform/graphics/ca/GraphicsLayerCA.cpp:
1049         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
1050
1051 2011-03-11  Tony Gentilcore  <tonyg@chromium.org>
1052
1053         Reviewed by Eric Seidel.
1054
1055         Let the parser yield for layout before running scripts
1056         https://bugs.webkit.org/show_bug.cgi?id=54355
1057
1058         Prior to this patch, the parser would yield to perform a layout/paint before running a
1059         script only if the script or a stylesheet blocking the script is not loaded yet. Since we
1060         don't preload scan into the body while parsing the head, typically we'll block on a script
1061         early in the body that causes us to yield to do the first paint within a reasonable time.
1062
1063         However, I'm planning to change the PreloadScanner to scan into the body from the head.
1064         That significantly improves overall load time, but would hurt first paint time because
1065         fewer scripts would be blocked during parsing and thus wouldn't yield.
1066
1067         This change causes us to yield before running scripts if we haven't painted yet (regardless
1068         of whether or not the script is loaded). In addition to allowing the above mentioned
1069         PreloadScanner change to be implemented without regressing first paint time, this also
1070         improves first paint time by itself.
1071
1072         I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate
1073         bandwidth. This patch improved average first paint time by 1% over an unlimited connection,
1074         6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
1075         signifcant change in page load time.
1076
1077         Within the pages tested, 33 had no statistically significant change in time to first paint,
1078         12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
1079         are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
1080
1081         * html/parser/HTMLDocumentParser.cpp:
1082         (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point.
1083         (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
1084         means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does
1085         the right thing whether we are just before a token or waiting for a script. Now that we may
1086         yield before a token or before a script, this may be called while paused.
1087         * html/parser/HTMLParserScheduler.cpp:
1088         (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
1089         * page/FrameView.h:
1090         (WebCore::FrameView::hasEverPainted): Added.
1091
1092 2011-03-11  Dimitri Glazkov  <dglazkov@chromium.org>
1093
1094         Fix crashes in dom/html/level2/html/HTMLInputElement*.
1095
1096         * css/CSSStyleSelector.cpp:
1097         (WebCore::CSSStyleSelector::adjustRenderStyle): Added a null-check for e,
1098             because e can certainly be a null.
1099
1100 2011-03-09  Dimitri Glazkov  <dglazkov@chromium.org>
1101
1102         Reviewed by David Hyatt.
1103
1104         Choke text-decoration when entering shadow DOM subtree.
1105         https://bugs.webkit.org/show_bug.cgi?id=56044
1106
1107         No new tests, because the functionality can't be tested yet.
1108
1109         * css/CSSStyleSelector.cpp:
1110         (WebCore::CSSStyleSelector::adjustRenderStyle): Added a check for shadow DOM root.
1111
1112 2011-03-08  Dimitri Glazkov  <dglazkov@chromium.org>
1113
1114         Reviewed by Eric Carlson.
1115
1116         Convert MediaControlTimeDisplayElement to use standard layout with a custom renderer.
1117         https://bugs.webkit.org/show_bug.cgi?id=55972
1118
1119         Instead of poking at the time display elements all the way from RenderMedia,
1120         let the standard layout cycle take care of things. Move the logic of calculating
1121         when to collapse the time display elements into a custom renderer, since
1122         this is not something that can be accomplished with CSS.
1123
1124         Also, the logic of keeping the timeline slider at least 100px needed refreshing,
1125         since it didn't actually keep it at 100px.
1126
1127         * html/shadow/MediaControls.cpp: Moved the logic of determining visibility
1128             of time display elements to RenderMediaControlTimeDisplay, eliminating
1129             updateTimeDisplayVisibility method.
1130         * html/shadow/MediaControls.h: Removed decl.
1131         * rendering/MediaControlElements.cpp:
1132         (WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
1133             Added new renderer class.
1134         (WebCore::RenderMediaControlTimeDisplay::layout): Simplified (and corrected)
1135             size-sensing logic, still using hard-coded values.
1136         (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
1137             Removed m_isVisible member, which is no longer necessary.
1138         (WebCore::MediaControlTimeDisplayElement::createRenderer): Added to
1139             return the new renderer.
1140         * rendering/MediaControlElements.h: Adjusted decls.
1141         * rendering/RenderMedia.cpp:
1142         (WebCore::RenderMedia::layout): Remove the now-unnecessary poking at
1143             media controls in layout.
1144
1145 2011-03-09  Dimitri Glazkov  <dglazkov@chromium.org>
1146
1147         Reviewed by Eric Carlson.
1148
1149         Start focusing updates to media controls, away from always updating everything.
1150         https://bugs.webkit.org/show_bug.cgi?id=56038
1151
1152         For now, the new methods just call generic MediaControls::update.
1153
1154         Covered by existing tests.
1155
1156         * html/HTMLMediaElement.cpp:
1157         (WebCore::HTMLMediaElement::attributeChanged): Changed to use MediaControls::reset.
1158         (WebCore::HTMLMediaElement::setMuted): Changed to use MediaControls::changedMute.
1159         (WebCore::HTMLMediaElement::updateVolume): Changed to use MediaControls::changedVolume.
1160         (WebCore::HTMLMediaElement::defaultEventHandler): Changed to use the new mediaControls
1161             accessor.
1162         (WebCore::HTMLMediaElement::setClosedCaptionsVisible): Changed to use
1163             MediaControls::changedClosedCaptionsVisibility.
1164         (WebCore::HTMLMediaElement::mediaControls): Added.
1165         (WebCore::HTMLMediaElement::hasMediaControls): Added.
1166         * html/HTMLMediaElement.h: Added decls.
1167         * html/shadow/MediaControls.cpp:
1168         (WebCore::MediaControls::reset): Added.
1169         (WebCore::MediaControls::changedMute): Added.
1170         (WebCore::MediaControls::changedVolume): Added.
1171         (WebCore::MediaControls::changedClosedCaptionsVisibility): Added.
1172         * html/shadow/MediaControls.h: Added decls.
1173
1174 2011-03-11  Alexis Menard  <alexis.menard@openbossa.org>
1175
1176         Reviewed by Martin Robinson.
1177
1178         [GStreamer] When seeking webKitWebSrcStop release the frame but should not.
1179         https://bugs.webkit.org/show_bug.cgi?id=55703
1180
1181         When calling webKitWebSrcStop in case of a seeking, the frame should not
1182         be reset (the source hasn't change). The frame may be used to get the network
1183         context. Some network stack (like Qt) are relaying on the network context
1184         to work.
1185
1186         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1187         (webKitWebSrcStop):
1188
1189 2011-03-11  Dean Jackson  <dino@apple.com>
1190
1191         Unreviewed.
1192
1193         Build fixes for GTK and Leopard.
1194
1195         * bindings/gobject/GNUmakefile.am:
1196         - add missing WebKitAnimation* generated bindings
1197         * page/WebKitAnimation.idl:
1198         - use double in place of float (the core values are double anyway)
1199
1200 2011-03-11  Dean Jackson  <dino@apple.com>
1201
1202         Unreviewed build fix for QT.
1203
1204         * WebCore.pro:
1205
1206 2011-03-11  Dean Jackson  <dino@apple.com>
1207
1208         Reviewed by Simon Fraser and Chris Marrin.
1209
1210         https://bugs.webkit.org/show_bug.cgi?id=54151
1211         Implement an API to play/pause/scrub animations
1212
1213         This is Part 1. Adds the new WebKitAnimation and WebKitAnimationList
1214         APIs, exposed via Element.getWebKitAnimations(). This first pass
1215         is a read-only API - a subsequent commit will add the ability
1216         to scrub animations.
1217
1218         Test: animations/animation-api-1.html
1219
1220         * Android.derived.jscbindings.mk:
1221         * Android.derived.v8bindings.mk:
1222         * Android.mk:
1223         * Android.v8bindings.mk:
1224         * CMakeLists.txt:
1225         * CodeGenerators.pri:
1226         * DerivedSources.cpp:
1227         * DerivedSources.make:
1228         * GNUmakefile.am:
1229         * WebCore.gypi:
1230         * WebCore.pro:
1231         * WebCore.vcproj/WebCore.vcproj:
1232         * WebCore.xcodeproj/project.pbxproj:
1233         - All build settings updated for new files
1234         * bindings/js/JSBindingsAllInOne.cpp:
1235         - Include new custom files
1236         * bindings/js/JSWebKitAnimationCustom.cpp: Added.
1237         (WebCore::JSWebKitAnimation::iterationCount):
1238         - Custom property getter so that we can return INFINITY
1239         * bindings/js/JSWebKitAnimationListCustom.cpp: Added.
1240         (WebCore::JSWebKitAnimationList::markChildren):
1241         - Make sure WebKitAnimations are marked
1242         * bindings/v8/custom/V8WebKitAnimationCustom.cpp: Added.
1243         (WebCore::V8WebkitAnimation::iterationCountAccessorGetter):
1244         - Custom property getter so that we can return INFINITY
1245         * dom/Element.cpp:
1246         (WebCore::Element::webkitGetAnimations):
1247         * dom/Element.h:
1248         * dom/Element.idl:
1249         - New API entry point
1250         * page/DOMWindow.idl:
1251         - Constructor definitions for WebKitAnimation and WebKitAnimationList
1252         * page/animation/AnimationBase.cpp:
1253         (WebCore::AnimationBase::~AnimationBase):
1254         - Since AnimationBase can now live longer (if a WebKitAnimation is
1255         held in Javascript) we need to guard for the renderer having disappeared.
1256         (WebCore::AnimationBase::setElapsedTime):
1257         (WebCore::AnimationBase::play):
1258         (WebCore::AnimationBase::pause):
1259         - Stub implementations at present
1260         * page/animation/AnimationBase.h:
1261         (WebCore::AnimationBase::animation):
1262         - Expose the Animation properties
1263         * page/animation/AnimationController.cpp:
1264         (WebCore::AnimationControllerPrivate::animationsForRenderer):
1265         (WebCore::AnimationController::animationsForRenderer):
1266         - Builds the list of WebKitAnimations
1267         * page/animation/AnimationController.h:
1268         * page/animation/AnimationControllerPrivate.h:
1269         * page/animation/CompositeAnimation.cpp:
1270         (WebCore::CompositeAnimation::updateKeyframeAnimations):
1271         - Make sure we clear the renderer if we are removing the animation
1272         (WebCore::CompositeAnimation::animations):
1273         * page/animation/CompositeAnimation.h:
1274         * page/WebKitAnimation.cpp: Added.
1275         (WebCore::WebKitAnimation::WebKitAnimation):
1276         (WebCore::WebKitAnimation::name):
1277         (WebCore::WebKitAnimation::duration):
1278         (WebCore::WebKitAnimation::elapsedTime):
1279         (WebCore::WebKitAnimation::setElapsedTime):
1280         (WebCore::WebKitAnimation::delay):
1281         (WebCore::WebKitAnimation::iterationCount):
1282         (WebCore::WebKitAnimation::paused):
1283         (WebCore::WebKitAnimation::ended):
1284         (WebCore::WebKitAnimation::direction):
1285         (WebCore::WebKitAnimation::fillMode):
1286         (WebCore::WebKitAnimation::pause):
1287         (WebCore::WebKitAnimation::play):
1288         - The implementation of the new API. All the read-only parts are
1289         done, but elapsedTime, play() and pause() are stubs.
1290         * page/WebKitAnimation.h: Added.
1291         (WebCore::WebKitAnimation::create):
1292         (WebCore::WebKitAnimation::~WebKitAnimation):
1293         * page/WebKitAnimation.idl: Added.
1294         * page/WebKitAnimationList.cpp: Added.
1295         * page/WebKitAnimationList.h: Added.
1296         * page/WebKitAnimationList.idl: Added.
1297         - Copies NodeList implementation
1298
1299 2011-03-11  Ilya Tikhonovsky  <loislo@chromium.org>
1300
1301         Reviewed by Yury Semikhatsky.
1302
1303         Web Inspector: introduce error argument for all the callbacks on frontend.
1304         https://bugs.webkit.org/show_bug.cgi?id=56100
1305
1306         * inspector/CodeGeneratorInspector.pm:
1307         * inspector/front-end/AuditRules.js:
1308         (WebInspector.AuditRules.evaluateInTargetWindow):
1309         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
1310         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
1311         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
1312         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
1313         * inspector/front-end/CSSStyleModel.js:
1314         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
1315         (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
1316         (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
1317         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
1318         (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
1319         (WebInspector.CSSStyleModel.prototype.addRule):
1320         (WebInspector.CSSStyleModel.prototype.addRule.callback):
1321         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
1322         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
1323         (WebInspector.CSSStyleModel.prototype._onRevert):
1324         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
1325         (WebInspector.CSSProperty.prototype.setText.callback):
1326         (WebInspector.CSSProperty.prototype.setText):
1327         (WebInspector.CSSProperty.prototype.setDisabled.callback):
1328         (WebInspector.CSSProperty.prototype.setDisabled):
1329         (WebInspector.CSSStyleSheet.createForId):
1330         (WebInspector.CSSStyleSheet.prototype.setText):
1331         * inspector/front-end/ConsoleView.js:
1332         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
1333         * inspector/front-end/DOMAgent.js:
1334         (WebInspector.DOMNode.prototype.setNodeName):
1335         (WebInspector.DOMNode.prototype.setNodeValue):
1336         (WebInspector.DOMNode.prototype.setAttribute):
1337         (WebInspector.DOMNode.prototype.removeAttribute):
1338         (WebInspector.DOMNode.prototype.childNodes.mycallback):
1339         (WebInspector.DOMNode.prototype.childNodes):
1340         (WebInspector.DOMNode.prototype.outerHTML):
1341         (WebInspector.DOMNode.prototype.setOuterHTML):
1342         (WebInspector.DOMNode.prototype.removeNode):
1343         (WebInspector.DOMNode.prototype.copyNode):
1344         (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
1345         (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
1346         (WebInspector.DOMAgent.prototype._documentUpdated):
1347         (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
1348         (WebInspector.Cookies.getCookiesAsync):
1349         (WebInspector.EventListeners.getEventListenersForNodeAsync):
1350         * inspector/front-end/DOMStorage.js:
1351         (WebInspector.DOMStorage.prototype.getEntries):
1352         (WebInspector.DOMStorage.prototype.setItem):
1353         (WebInspector.DOMStorage.prototype.removeItem):
1354         * inspector/front-end/Database.js:
1355         (WebInspector.Database.prototype.getTableNames):
1356         (WebInspector.Database.prototype.executeSql):
1357         * inspector/front-end/DebuggerModel.js:
1358         (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
1359         (WebInspector.DebuggerModel.prototype.setBreakpoint):
1360         (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
1361         (WebInspector.DebuggerModel.prototype.editScriptSource):
1362         * inspector/front-end/ElementsPanel.js:
1363         (WebInspector.ElementsPanel.prototype._setSearchingForNode):
1364         * inspector/front-end/ElementsTreeOutline.js:
1365         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode):
1366         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
1367         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
1368         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
1369         ():
1370         * inspector/front-end/ExtensionPanel.js:
1371         (WebInspector.ExtensionWatchSidebarPane.prototype._onEvaluate):
1372         * inspector/front-end/ExtensionServer.js:
1373         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
1374         * inspector/front-end/NetworkManager.js:
1375         (WebInspector.NetworkManager.prototype.requestContent):
1376         (WebInspector.NetworkManager.prototype._processCachedResources):
1377         * inspector/front-end/ProfileView.js:
1378         (WebInspector.CPUProfileView.profileCallback):
1379         (WebInspector.CPUProfileView):
1380         * inspector/front-end/ProfilesPanel.js:
1381         * inspector/front-end/RemoteObject.js:
1382         (WebInspector.RemoteObject.resolveNode):
1383         (WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder):
1384         (WebInspector.RemoteObject.prototype.getProperties):
1385         (WebInspector.RemoteObject.prototype.setPropertyValue):
1386         (WebInspector.RemoteObject.prototype.evaluate):
1387         * inspector/front-end/Script.js:
1388         (WebInspector.Script.prototype.requestSource.didGetScriptSource):
1389         (WebInspector.Script.prototype.requestSource):
1390         * inspector/front-end/ScriptsPanel.js:
1391         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
1392         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
1393         (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
1394         * inspector/front-end/inspector.js:
1395         ():
1396         (WebInspector.doLoadedDone.onPopulateScriptObjects):
1397         (WebInspector.doLoadedDone.propertyNamesCallback):
1398         (WebInspector.doLoadedDone):
1399
1400 2011-03-11  Yury Semikhatsky  <yurys@chromium.org>
1401
1402         Reviewed by Pavel Feldman.
1403
1404         Web Inspector: split InjectedScriptHost into InjectedScriptManager and InjectedScriptHost
1405         https://bugs.webkit.org/show_bug.cgi?id=56173
1406
1407         Moved all injected script managing logic into InjectedScriptManager which is owned by InspectorController.
1408
1409         * CMakeLists.txt:
1410         * GNUmakefile.am:
1411         * WebCore.gypi:
1412         * WebCore.pro:
1413         * WebCore.vcproj/WebCore.vcproj:
1414         * WebCore.xcodeproj/project.pbxproj:
1415         * bindings/js/JSInjectedScriptHostCustom.cpp:
1416         * bindings/js/JSInjectedScriptManager.cpp: Added.
1417         (WebCore::InjectedScriptManager::createInjectedScript):
1418         (WebCore::InjectedScriptManager::discardInjectedScript):
1419         (WebCore::InjectedScriptManager::injectedScriptFor):
1420         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
1421         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1422         * bindings/v8/custom/V8InjectedScriptManager.cpp: Copied from Source/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp.
1423         (WebCore::WeakReferenceCallback):
1424         (WebCore::createInjectedScriptHostV8Wrapper):
1425         (WebCore::InjectedScriptManager::createInjectedScript):
1426         (WebCore::InjectedScriptManager::discardInjectedScript):
1427         (WebCore::InjectedScriptManager::injectedScriptFor):
1428         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
1429         * inspector/ConsoleMessage.cpp:
1430         (WebCore::ConsoleMessage::addToFrontend):
1431         * inspector/ConsoleMessage.h:
1432         * inspector/InjectedScript.cpp:
1433         (WebCore::InjectedScript::canAccessInspectedWindow):
1434         * inspector/InjectedScript.h:
1435         * inspector/InjectedScriptHost.cpp:
1436         (WebCore::InjectedScriptHost::create):
1437         (WebCore::InjectedScriptHost::InjectedScriptHost):
1438         (WebCore::InjectedScriptHost::~InjectedScriptHost):
1439         (WebCore::InjectedScriptHost::disconnect):
1440         (WebCore::InjectedScriptHost::inspectImpl):
1441         (WebCore::InjectedScriptHost::clearConsoleMessages):
1442         (WebCore::InjectedScriptHost::databaseIdImpl):
1443         (WebCore::InjectedScriptHost::storageIdImpl):
1444         * inspector/InjectedScriptHost.h:
1445         (WebCore::InjectedScriptHost::init):
1446         (WebCore::InjectedScriptHost::setFrontend):
1447         (WebCore::InjectedScriptHost::clearFrontend):
1448         * inspector/InjectedScriptManager.cpp: Added.
1449         (WebCore::InjectedScriptManager::create):
1450         (WebCore::InjectedScriptManager::InjectedScriptManager):
1451         (WebCore::InjectedScriptManager::~InjectedScriptManager):
1452         (WebCore::InjectedScriptManager::disconnect):
1453         (WebCore::InjectedScriptManager::injectedScriptHost):
1454         (WebCore::InjectedScriptManager::injectedScriptForId):
1455         (WebCore::InjectedScriptManager::injectedScriptForObjectId):
1456         (WebCore::InjectedScriptManager::discardInjectedScripts):
1457         (WebCore::InjectedScriptManager::releaseObjectGroup):
1458         (WebCore::InjectedScriptManager::injectedScriptSource):
1459         (WebCore::InjectedScriptManager::injectScript):
1460         * inspector/InjectedScriptManager.h: Copied from Source/WebCore/inspector/InjectedScriptHost.h.
1461         * inspector/Inspector.idl:
1462         * inspector/InspectorAgent.cpp:
1463         (WebCore::InspectorAgent::InspectorAgent):
1464         (WebCore::InspectorAgent::inspectedPageDestroyed):
1465         (WebCore::InspectorAgent::focusNode):
1466         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
1467         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
1468         (WebCore::InspectorAgent::didCommitLoad):
1469         (WebCore::InspectorAgent::domContentLoadedEventFired):
1470         * inspector/InspectorAgent.h:
1471         * inspector/InspectorBrowserDebuggerAgent.cpp:
1472         * inspector/InspectorConsoleAgent.cpp:
1473         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
1474         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
1475         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
1476         (WebCore::InspectorConsoleAgent::addInspectedNode):
1477         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
1478         (WebCore::InspectorConsoleAgent::addConsoleMessage):
1479         * inspector/InspectorConsoleAgent.h:
1480         * inspector/InspectorController.cpp:
1481         (WebCore::InspectorController::InspectorController):
1482         (WebCore::InspectorController::connectFrontend):
1483         (WebCore::InspectorController::disconnectFrontend):
1484         * inspector/InspectorController.h:
1485         * inspector/InspectorDOMAgent.cpp:
1486         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1487         (WebCore::InspectorDOMAgent::discardBindings):
1488         (WebCore::InspectorDOMAgent::pushNodeToFrontend):
1489         (WebCore::InspectorDOMAgent::resolveNode):
1490         * inspector/InspectorDOMAgent.h:
1491         (WebCore::InspectorDOMAgent::create):
1492         * inspector/InspectorDebuggerAgent.cpp:
1493         (WebCore::InspectorDebuggerAgent::create):
1494         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1495         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1496         (WebCore::InspectorDebuggerAgent::currentCallFrames):
1497         * inspector/InspectorDebuggerAgent.h:
1498         * inspector/InspectorRuntimeAgent.cpp:
1499         (WebCore::InspectorRuntimeAgent::create):
1500         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
1501         (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
1502         (WebCore::InspectorRuntimeAgent::evaluate):
1503         (WebCore::InspectorRuntimeAgent::evaluateOn):
1504         (WebCore::InspectorRuntimeAgent::getProperties):
1505         (WebCore::InspectorRuntimeAgent::setPropertyValue):
1506         (WebCore::InspectorRuntimeAgent::releaseObject):
1507         (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
1508         * inspector/InspectorRuntimeAgent.h:
1509         * inspector/front-end/ElementsPanel.js:
1510         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
1511         (WebInspector.ElementsPanel):
1512
1513 2011-03-11  Anton Muhin  <antonm@chromium.org>
1514
1515         Reviewed by Adam Barth.
1516
1517         [v8] Change the way group id for CSS objects is calculated
1518         https://bugs.webkit.org/show_bug.cgi?id=56117
1519
1520         Do not treat CSSStyleDeclarations under not CSSRule as belonging to the same object group
1521         as they should not be reachable in JavaScript.
1522
1523         Covered by existing layout tests.  Fact of absence of retention is not trivial to prove.
1524
1525         * bindings/v8/V8GCController.cpp:
1526         (WebCore::calculateGroupId):
1527         (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
1528
1529 2011-03-11  Alexander Pavlov  <apavlov@chromium.org>
1530
1531         Reviewed by Yury Semikhatsky.
1532
1533         Web Inspector: hover over elements in Elements panel does not highlight nodes
1534         https://bugs.webkit.org/show_bug.cgi?id=56121
1535
1536         In DOM trees with a comment and/or doctype preceding the HTML tag, the tree container right boundary
1537         is 16px apart from the OL right boundary, and we miss the relevant LI by 4px. The fix is to compensate
1538         for these 16px when computing the test point coordinates.
1539
1540         * inspector/front-end/ElementsTreeOutline.js:
1541         (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
1542
1543 2011-03-11  Yury Semikhatsky  <yurys@chromium.org>
1544
1545         Unreviewed. Roll out r80837.
1546
1547         * CMakeLists.txt:
1548         * GNUmakefile.am:
1549         * WebCore.gypi:
1550         * WebCore.pro:
1551         * WebCore.vcproj/WebCore.vcproj:
1552         * WebCore.xcodeproj/project.pbxproj:
1553         * bindings/js/JSInjectedScriptHostCustom.cpp:
1554         (WebCore::InjectedScriptHost::createInjectedScript):
1555         (WebCore::InjectedScriptHost::discardInjectedScript):
1556         (WebCore::InjectedScriptHost::injectedScriptFor):
1557         (WebCore::InjectedScriptHost::canAccessInspectedWindow):
1558         * bindings/js/JSInjectedScriptManager.cpp: Removed.
1559         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1560         (WebCore::WeakReferenceCallback):
1561         (WebCore::createInjectedScriptHostV8Wrapper):
1562         (WebCore::InjectedScriptHost::createInjectedScript):
1563         (WebCore::InjectedScriptHost::discardInjectedScript):
1564         (WebCore::InjectedScriptHost::injectedScriptFor):
1565         (WebCore::InjectedScriptHost::canAccessInspectedWindow):
1566         * bindings/v8/custom/V8InjectedScriptManager.cpp: Removed.
1567         * inspector/ConsoleMessage.cpp:
1568         (WebCore::ConsoleMessage::addToFrontend):
1569         * inspector/ConsoleMessage.h:
1570         * inspector/InjectedScript.cpp:
1571         (WebCore::InjectedScript::canAccessInspectedWindow):
1572         * inspector/InjectedScript.h:
1573         * inspector/InjectedScriptHost.cpp:
1574         (WebCore::InjectedScriptHost::InjectedScriptHost):
1575         (WebCore::InjectedScriptHost::~InjectedScriptHost):
1576         (WebCore::InjectedScriptHost::inspectImpl):
1577         (WebCore::InjectedScriptHost::clearConsoleMessages):
1578         (WebCore::InjectedScriptHost::databaseIdImpl):
1579         (WebCore::InjectedScriptHost::storageIdImpl):
1580         (WebCore::InjectedScriptHost::injectedScriptForId):
1581         (WebCore::InjectedScriptHost::injectedScriptForObjectId):
1582         (WebCore::InjectedScriptHost::injectedScriptForMainFrame):
1583         (WebCore::InjectedScriptHost::discardInjectedScripts):
1584         (WebCore::InjectedScriptHost::releaseObjectGroup):
1585         (WebCore::InjectedScriptHost::frontend):
1586         (WebCore::InjectedScriptHost::injectedScriptSource):
1587         (WebCore::InjectedScriptHost::injectScript):
1588         * inspector/InjectedScriptHost.h:
1589         (WebCore::InjectedScriptHost::create):
1590         (WebCore::InjectedScriptHost::inspectorAgent):
1591         (WebCore::InjectedScriptHost::disconnectController):
1592         * inspector/InjectedScriptManager.cpp: Removed.
1593         * inspector/InjectedScriptManager.h: Removed.
1594         * inspector/Inspector.idl:
1595         * inspector/InspectorAgent.cpp:
1596         (WebCore::InspectorAgent::InspectorAgent):
1597         (WebCore::InspectorAgent::inspectedPageDestroyed):
1598         (WebCore::InspectorAgent::focusNode):
1599         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
1600         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
1601         (WebCore::InspectorAgent::didCommitLoad):
1602         (WebCore::InspectorAgent::domContentLoadedEventFired):
1603         * inspector/InspectorAgent.h:
1604         (WebCore::InspectorAgent::injectedScriptHost):
1605         * inspector/InspectorBrowserDebuggerAgent.cpp:
1606         * inspector/InspectorConsoleAgent.cpp:
1607         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
1608         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
1609         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
1610         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
1611         (WebCore::InspectorConsoleAgent::addConsoleMessage):
1612         * inspector/InspectorConsoleAgent.h:
1613         * inspector/InspectorController.cpp:
1614         (WebCore::InspectorController::InspectorController):
1615         (WebCore::InspectorController::connectFrontend):
1616         (WebCore::InspectorController::disconnectFrontend):
1617         * inspector/InspectorController.h:
1618         * inspector/InspectorDOMAgent.cpp:
1619         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1620         (WebCore::InspectorDOMAgent::discardBindings):
1621         (WebCore::InspectorDOMAgent::addInspectedNode):
1622         (WebCore::InspectorDOMAgent::pushNodeToFrontend):
1623         (WebCore::InspectorDOMAgent::resolveNode):
1624         * inspector/InspectorDOMAgent.h:
1625         (WebCore::InspectorDOMAgent::create):
1626         * inspector/InspectorDebuggerAgent.cpp:
1627         (WebCore::InspectorDebuggerAgent::create):
1628         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1629         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1630         (WebCore::InspectorDebuggerAgent::currentCallFrames):
1631         * inspector/InspectorDebuggerAgent.h:
1632         * inspector/InspectorRuntimeAgent.cpp:
1633         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
1634         (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
1635         (WebCore::InspectorRuntimeAgent::evaluate):
1636         (WebCore::InspectorRuntimeAgent::evaluateOn):
1637         (WebCore::InspectorRuntimeAgent::getProperties):
1638         (WebCore::InspectorRuntimeAgent::setPropertyValue):
1639         (WebCore::InspectorRuntimeAgent::releaseObject):
1640         (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
1641         * inspector/InspectorRuntimeAgent.h:
1642         (WebCore::InspectorRuntimeAgent::create):
1643         * inspector/front-end/ElementsPanel.js:
1644         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
1645         (WebInspector.ElementsPanel):
1646
1647 2011-03-11  Yury Semikhatsky  <yurys@chromium.org>
1648
1649         Reviewed by Pavel Feldman.
1650
1651         Web Inspector: split InjectedScriptHost into InjectedScriptManager and InjectedScriptHost
1652         https://bugs.webkit.org/show_bug.cgi?id=56173
1653
1654         Moved all injected script managing logic into InjectedScriptManager which is owned by InspectorController.
1655
1656         * CMakeLists.txt:
1657         * GNUmakefile.am:
1658         * WebCore.gypi:
1659         * WebCore.pro:
1660         * WebCore.vcproj/WebCore.vcproj:
1661         * WebCore.xcodeproj/project.pbxproj:
1662         * bindings/js/JSInjectedScriptHostCustom.cpp:
1663         * bindings/js/JSInjectedScriptManager.cpp: Added.
1664         (WebCore::InjectedScriptManager::createInjectedScript):
1665         (WebCore::InjectedScriptManager::discardInjectedScript):
1666         (WebCore::InjectedScriptManager::injectedScriptFor):
1667         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
1668         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1669         * bindings/v8/custom/V8InjectedScriptManager.cpp: Copied from Source/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp.
1670         (WebCore::WeakReferenceCallback):
1671         (WebCore::createInjectedScriptHostV8Wrapper):
1672         (WebCore::InjectedScriptManager::createInjectedScript):
1673         (WebCore::InjectedScriptManager::discardInjectedScript):
1674         (WebCore::InjectedScriptManager::injectedScriptFor):
1675         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
1676         * inspector/ConsoleMessage.cpp:
1677         (WebCore::ConsoleMessage::addToFrontend):
1678         * inspector/ConsoleMessage.h:
1679         * inspector/InjectedScript.cpp:
1680         (WebCore::InjectedScript::canAccessInspectedWindow):
1681         * inspector/InjectedScript.h:
1682         * inspector/InjectedScriptHost.cpp:
1683         (WebCore::InjectedScriptHost::create):
1684         (WebCore::InjectedScriptHost::InjectedScriptHost):
1685         (WebCore::InjectedScriptHost::~InjectedScriptHost):
1686         (WebCore::InjectedScriptHost::disconnect):
1687         (WebCore::InjectedScriptHost::inspectImpl):
1688         (WebCore::InjectedScriptHost::clearConsoleMessages):
1689         (WebCore::InjectedScriptHost::databaseIdImpl):
1690         (WebCore::InjectedScriptHost::storageIdImpl):
1691         * inspector/InjectedScriptHost.h:
1692         (WebCore::InjectedScriptHost::init):
1693         (WebCore::InjectedScriptHost::setFrontend):
1694         (WebCore::InjectedScriptHost::clearFrontend):
1695         * inspector/InjectedScriptManager.cpp: Added.
1696         (WebCore::InjectedScriptManager::create):
1697         (WebCore::InjectedScriptManager::InjectedScriptManager):
1698         (WebCore::InjectedScriptManager::~InjectedScriptManager):
1699         (WebCore::InjectedScriptManager::disconnect):
1700         (WebCore::InjectedScriptManager::injectedScriptHost):
1701         (WebCore::InjectedScriptManager::injectedScriptForId):
1702         (WebCore::InjectedScriptManager::injectedScriptForObjectId):
1703         (WebCore::InjectedScriptManager::discardInjectedScripts):
1704         (WebCore::InjectedScriptManager::releaseObjectGroup):
1705         (WebCore::InjectedScriptManager::injectedScriptSource):
1706         (WebCore::InjectedScriptManager::injectScript):
1707         * inspector/InjectedScriptManager.h: Copied from Source/WebCore/inspector/InjectedScriptHost.h.
1708         * inspector/Inspector.idl:
1709         * inspector/InspectorAgent.cpp:
1710         (WebCore::InspectorAgent::InspectorAgent):
1711         (WebCore::InspectorAgent::inspectedPageDestroyed):
1712         (WebCore::InspectorAgent::focusNode):
1713         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
1714         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
1715         (WebCore::InspectorAgent::didCommitLoad):
1716         (WebCore::InspectorAgent::domContentLoadedEventFired):
1717         * inspector/InspectorAgent.h:
1718         * inspector/InspectorBrowserDebuggerAgent.cpp:
1719         * inspector/InspectorConsoleAgent.cpp:
1720         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
1721         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
1722         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
1723         (WebCore::InspectorConsoleAgent::addInspectedNode):
1724         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
1725         (WebCore::InspectorConsoleAgent::addConsoleMessage):
1726         * inspector/InspectorConsoleAgent.h:
1727         * inspector/InspectorController.cpp:
1728         (WebCore::InspectorController::InspectorController):
1729         (WebCore::InspectorController::connectFrontend):
1730         (WebCore::InspectorController::disconnectFrontend):
1731         * inspector/InspectorController.h:
1732         * inspector/InspectorDOMAgent.cpp:
1733         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1734         (WebCore::InspectorDOMAgent::discardBindings):
1735         (WebCore::InspectorDOMAgent::pushNodeToFrontend):
1736         (WebCore::InspectorDOMAgent::resolveNode):
1737         * inspector/InspectorDOMAgent.h:
1738         (WebCore::InspectorDOMAgent::create):
1739         * inspector/InspectorDebuggerAgent.cpp:
1740         (WebCore::InspectorDebuggerAgent::create):
1741         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
1742         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
1743         (WebCore::InspectorDebuggerAgent::currentCallFrames):
1744         * inspector/InspectorDebuggerAgent.h:
1745         * inspector/InspectorRuntimeAgent.cpp:
1746         (WebCore::InspectorRuntimeAgent::create):
1747         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
1748         (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
1749         (WebCore::InspectorRuntimeAgent::evaluate):
1750         (WebCore::InspectorRuntimeAgent::evaluateOn):
1751         (WebCore::InspectorRuntimeAgent::getProperties):
1752         (WebCore::InspectorRuntimeAgent::setPropertyValue):
1753         (WebCore::InspectorRuntimeAgent::releaseObject):
1754         (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
1755         * inspector/InspectorRuntimeAgent.h:
1756         * inspector/front-end/ElementsPanel.js:
1757         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
1758         (WebInspector.ElementsPanel):
1759
1760 2011-03-09  Hans Wennborg  <hans@chromium.org>
1761
1762         Reviewed by Jeremy Orlow.
1763
1764         IndexedDB: Make IDBBackingStore abstract
1765         https://bugs.webkit.org/show_bug.cgi?id=56013
1766
1767         Make IDBBackingStore abstract to allow for multiple implementations.
1768         Move the SQLite implementation to IDBSQLiteBackingStore.
1769
1770         No new tests: refactoring only.
1771
1772         * WebCore.gypi:
1773         * storage/IDBBackingStore.h:
1774         (WebCore::IDBBackingStore::~IDBBackingStore):
1775         * storage/IDBFactoryBackendImpl.cpp:
1776         (WebCore::IDBFactoryBackendImpl::open):
1777         * storage/IDBSQLiteBackingStore.cpp:
1778         (WebCore::IDBSQLiteBackingStore::IDBSQLiteBackingStore):
1779         (WebCore::IDBSQLiteBackingStore::~IDBSQLiteBackingStore):
1780         (WebCore::runCommands):
1781         (WebCore::createTables):
1782         (WebCore::createMetaDataTable):
1783         (WebCore::getDatabaseSchemaVersion):
1784         (WebCore::migrateDatabase):
1785         (WebCore::IDBSQLiteBackingStore::open):
1786         (WebCore::IDBSQLiteBackingStore::extractIDBDatabaseMetaData):
1787         (WebCore::IDBSQLiteBackingStore::setIDBDatabaseMetaData):
1788         (WebCore::IDBSQLiteBackingStore::getObjectStores):
1789         (WebCore::IDBSQLiteBackingStore::createObjectStore):
1790         (WebCore::doDelete):
1791         (WebCore::IDBSQLiteBackingStore::deleteObjectStore):
1792         (WebCore::whereSyntaxForKey):
1793         (WebCore::bindKeyToQuery):
1794         (WebCore::lowerCursorWhereFragment):
1795         (WebCore::upperCursorWhereFragment):
1796         (WebCore::IDBSQLiteBackingStore::getObjectStoreRecord):
1797         (WebCore::bindKeyToQueryWithNulls):
1798         (WebCore::IDBSQLiteBackingStore::putObjectStoreRecord):
1799         (WebCore::IDBSQLiteBackingStore::clearObjectStore):
1800         (WebCore::IDBSQLiteBackingStore::deleteObjectStoreRecord):
1801         (WebCore::IDBSQLiteBackingStore::nextAutoIncrementNumber):
1802         (WebCore::IDBSQLiteBackingStore::keyExistsInObjectStore):
1803         (WebCore::IDBSQLiteBackingStore::forEachObjectStoreRecord):
1804         (WebCore::IDBSQLiteBackingStore::getIndexes):
1805         (WebCore::IDBSQLiteBackingStore::createIndex):
1806         (WebCore::IDBSQLiteBackingStore::deleteIndex):
1807         (WebCore::IDBSQLiteBackingStore::putIndexDataForRecord):
1808         (WebCore::IDBSQLiteBackingStore::deleteIndexDataForRecord):
1809         (WebCore::IDBSQLiteBackingStore::getObjectViaIndex):
1810         (WebCore::keyFromQuery):
1811         (WebCore::IDBSQLiteBackingStore::getPrimaryKeyViaIndex):
1812         (WebCore::IDBSQLiteBackingStore::keyExistsInIndex):
1813         (WebCore::IDBSQLiteBackingStore::openObjectStoreCursor):
1814         (WebCore::IDBSQLiteBackingStore::openIndexKeyCursor):
1815         (WebCore::IDBSQLiteBackingStore::openIndexCursor):
1816         (WebCore::IDBSQLiteBackingStore::createTransaction):
1817         * storage/IDBSQLiteBackingStore.h: Added.
1818
1819 2011-03-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1820
1821         Unreviewed build error fix.
1822
1823         [EFL] Fix build break when SHARED_CORE is ON
1824         https://bugs.webkit.org/show_bug.cgi?id=56155
1825
1826         * platform/efl/ContextMenuEfl.cpp:
1827         (WebCore::ContextMenu::ContextMenu):
1828         * platform/efl/ContextMenuItemEfl.cpp:
1829         (WebCore::ContextMenuItem::nativeMenuItem):
1830         (WebCore::ContextMenuItem::ContextMenuItem):
1831         (WebCore::ContextMenuItem::~ContextMenuItem):
1832
1833 2011-03-11  Andrey Kosyakov  <caseq@chromium.org>
1834
1835         Reviewed by Pavel Feldman.
1836
1837         Web Inspector: resource load cancellation is reported to console as an error
1838         https://bugs.webkit.org/show_bug.cgi?id=55764
1839
1840         - mark interruptionForPolicyChangeError as cancellation
1841         - do not log resource cancelation as an error
1842         - always push resource to front-end before console message, so front-end can use resource info while formatting message.
1843
1844         * inspector/InspectorConsoleAgent.cpp:
1845         (WebCore::InspectorConsoleAgent::didFailLoading):
1846         * inspector/InspectorInstrumentation.cpp:
1847         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
1848         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
1849         * loader/MainResourceLoader.cpp:
1850         (WebCore::MainResourceLoader::stopLoadingForPolicyChange):
1851
1852 2011-03-10  Alexander Pavlov  <apavlov@chromium.org>
1853
1854         Reviewed by Yury Semikhatsky.
1855
1856         Web Inspector: Get rid of has/add/removeStyleClass() methods on Element.prototype - Step 1
1857         https://bugs.webkit.org/show_bug.cgi?id=56096
1858
1859         No new tests, as this is a refactoring.
1860
1861         * inspector/front-end/BreakpointsSidebarPane.js:
1862         (WebInspector.EventListenerBreakpointsSidebarPane):
1863         * inspector/front-end/DetailedHeapshotView.js:
1864         * inspector/front-end/ResourcesPanel.js:
1865         (WebInspector.ResourcesPanel):
1866         (WebInspector.BaseStorageTreeElement):
1867         (WebInspector.BaseStorageTreeElement.prototype.onattach):
1868         (WebInspector.StorageCategoryTreeElement):
1869         (WebInspector.FrameTreeElement):
1870         (WebInspector.FrameResourceTreeElement):
1871         (WebInspector.DatabaseTreeElement):
1872         (WebInspector.DatabaseTableTreeElement):
1873         (WebInspector.DOMStorageTreeElement):
1874         (WebInspector.CookieTreeElement):
1875         (WebInspector.ApplicationCacheTreeElement):
1876         (WebInspector.ResourceRevisionTreeElement):
1877         * inspector/front-end/utilities.js:
1878         (Element.prototype.removeStyleClass):
1879         (Element.prototype.addStyleClass):
1880         (Element.prototype.hasStyleClass):
1881
1882 2011-03-11  Brian Salomon  <bsalomon@google.com>
1883
1884         Reviewed by Kenneth Russell.
1885
1886         Adds GrContext flush call to PlatformContextSkia destructor. 
1887 Calls GrContext flush with int parameter instead of bool due to skia 
1888 revision.       
1889
1890         No new tests needed.
1891
1892         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1893         (WebCore::DrawingBuffer::publishToPlatformLayer):
1894         * platform/graphics/skia/PlatformContextSkia.cpp:
1895         (WebCore::PlatformContextSkia::~PlatformContextSkia):
1896         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
1897
1898 2011-03-10  Chris Guillory  <chris.guillory@google.com>
1899
1900         Reviewed by James Robinson.
1901
1902         Fix for Coverity discovered NO_EFFECT (self-assign) defect.
1903         https://bugs.webkit.org/show_bug.cgi?id=54143
1904
1905         * platform/graphics/gpu/TilingData.cpp:
1906         (WebCore::TilingData::setMaxTextureSize):
1907
1908 2011-03-10  Emil A Eklund  <eae@chromium.org>
1909
1910         Reviewed by Alexey Proskuryakov.
1911
1912         The web colours palevioletred and mediumpurple are incorrect
1913         https://bugs.webkit.org/show_bug.cgi?id=46658
1914
1915         Changed value for the palevioletred and mediumpurple colors to match
1916         the css3 specification.
1917
1918         Test: fast/css/named-colors.html
1919
1920         * inspector/front-end/Color.js:
1921         * platform/ColorData.gperf:
1922
1923 2011-03-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1924
1925         Unreviewed build fix.
1926
1927         [WML] Fix build error
1928         https://bugs.webkit.org/show_bug.cgi?id=56078
1929
1930         * wml/WMLInputElement.cpp:
1931         (WebCore::WMLInputElement::defaultEventHandler):
1932
1933 2011-03-10  Jeremy Moskovich  <jeremy@chromium.org>
1934
1935         Reviewed by Darin Adler.
1936
1937         Fix navigation menus on a bunch of sites in WebKit.
1938         https://bugs.webkit.org/show_bug.cgi?id=52535
1939
1940         WebKit doesn't support position:relative for several table elements and
1941         overwrites the style internally when position:relative is encountered.
1942         Unfortunately position:relative affects the choice of nodes returned by
1943         offsetParent.
1944
1945         This CL adds a bit to RenderStyle to track whether position:relative was
1946         overwritten.  The value is then consulted in offsetParent which makes us
1947         match FF/IE.
1948
1949         Tests: fast/block/positioning/offsetLeft-relative-iframe.html
1950                fast/block/positioning/offsetLeft-relative-td.html
1951
1952         * css/CSSStyleSelector.cpp:
1953         (WebCore::CSSStyleSelector::adjustRenderStyle):
1954         * rendering/RenderObject.cpp:
1955         (WebCore::RenderObject::isOriginallyRelPositioned):
1956         (WebCore::RenderObject::offsetParent):
1957         * rendering/RenderObject.h:
1958         * rendering/style/RenderStyle.h: Add a bit to track the original value of position:relative.
1959         (WebCore::InheritedFlags::positionWasRelative):
1960         (WebCore::InheritedFlags::setPositionWasRelative):
1961         * rendering/style/StyleRareNonInheritedData.cpp:
1962         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1963         (WebCore::StyleRareNonInheritedData::operator==):
1964         * rendering/style/StyleRareNonInheritedData.h:
1965
1966 2011-03-10  Adam Barth  <abarth@webkit.org>
1967
1968         Reviewed by Darin Adler.
1969
1970         REGRESSION (r66428/r71892): Crash after assertion failure (!m_reachedTerminalState) in ResourceLoader::didCancel()
1971         https://bugs.webkit.org/show_bug.cgi?id=51357
1972
1973         Previously, we would try to print from a callstack that didn't want a
1974         nested event loop, leading to re-entrancy problems.  In this patch, we
1975         complete the print call asynchronously, giving us a clean stack on
1976         which to run the nested event loop.
1977
1978         Test: printing/print-close-crash.html
1979
1980         * page/DOMWindow.cpp:
1981         (WebCore::DOMWindow::DOMWindow):
1982         (WebCore::DOMWindow::print):
1983         (WebCore::DOMWindow::printTimerFired):
1984         * page/DOMWindow.h:
1985
1986 2011-03-11  Roland Steiner  <rolandsteiner@chromium.org>
1987
1988         Reviewed by Ryosuke Niwa.
1989
1990         Bug 55570 - Remove dependency of dom/InputElement.cpp on html/ and wml/
1991         https://bugs.webkit.org/show_bug.cgi?id=55570
1992
1993         Add a virtual function toInputElement() to Node that has a default
1994         implementation of returning 0.
1995         For HTMLInputElement and WMLInputElement (which derive from InputElement)
1996         override this to return the object.
1997         Change all calling sites of the old toInputElement to use the new member
1998         function. This also allows us to save some casts.
1999
2000         No new tests. (refactoring)
2001
2002         * WebCore.exp.in:
2003         * accessibility/AXObjectCache.cpp:
2004         (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
2005         * accessibility/AccessibilityRenderObject.cpp:
2006         (WebCore::AccessibilityRenderObject::isPasswordField):
2007         (WebCore::AccessibilityRenderObject::isIndeterminate):
2008         (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
2009         (WebCore::AccessibilityRenderObject::isChecked):
2010         * css/CSSStyleSelector.cpp:
2011         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2012         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2013         * dom/CheckedRadioButtons.cpp:
2014         (WebCore::CheckedRadioButtons::removeButton):
2015         * dom/InputElement.cpp:
2016         * dom/InputElement.h:
2017         * dom/Node.cpp:
2018         (WebCore::Node::toInputElement):
2019         * dom/Node.h:
2020         * html/HTMLInputElement.h:
2021         (WebCore::HTMLInputElement::toInputElement):
2022         * rendering/RenderTextControlSingleLine.cpp:
2023         (WebCore::RenderTextControlSingleLine::inputElement):
2024         * rendering/RenderTheme.cpp:
2025         (WebCore::RenderTheme::isChecked):
2026         (WebCore::RenderTheme::isIndeterminate):
2027         * wml/WMLInputElement.h:
2028         (WebCore::WMLInputElement::toInputElement):
2029
2030 2011-03-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2031
2032         Reviewed by Kenneth Rohde Christiansen.
2033
2034         [EFL] New mediaControl css file for EFL
2035         https://bugs.webkit.org/show_bug.cgi?id=55460
2036
2037         Add new mediaControl css file for html5 video UI.
2038
2039         * CMakeLists.txt:
2040         * CMakeListsEfl.txt:
2041         * css/mediaControlsEfl.css: Added.
2042         (audio):
2043         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
2044         (video:-webkit-full-page-media::-webkit-media-controls-panel):
2045         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
2046         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
2047         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
2048         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
2049         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
2050         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
2051         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
2052         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
2053         (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
2054         (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
2055         (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
2056         (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
2057         (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
2058         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
2059         (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
2060         * platform/efl/RenderThemeEfl.cpp:
2061         (WebCore::RenderThemeEfl::extraMediaControlsStyleSheet):
2062
2063 2011-03-10  Emil A Eklund  <eae@chromium.org>
2064
2065         Reviewed by Dimitri Glazkov.
2066
2067         style.display affecting the initial selectedIndex value of a <select> when its multiple attribute is set programatically
2068         https://bugs.webkit.org/show_bug.cgi?id=53860
2069
2070         Preserve selection when changing between multi-select and single-select
2071         for <select> boxes even if it has not yet been rendered.
2072
2073         Test: fast/dom/HTMLSelectElement/change-multiple-preserve-selection.html
2074
2075         * html/HTMLSelectElement.cpp:
2076         (WebCore::HTMLSelectElement::setMultiple):
2077
2078 2011-03-10  Ojan Vafai  <ojan@chromium.org>
2079
2080         Reviewed by Tony Chang.
2081
2082         update comment to reference new DOM Core spec
2083         https://bugs.webkit.org/show_bug.cgi?id=56079
2084
2085         I'm excising all instances of WRONG_DOCUMENT_ERR from WebKit.
2086         This is the only one that's actually specified to fire
2087         in the latest DOM Core spec.
2088
2089         * dom/DOMImplementation.cpp:
2090         (WebCore::DOMImplementation::createDocument):
2091
2092 2011-03-10  Rik Cabanier  <cabanier@gmail.com>
2093
2094         Reviewed by Tony Gentilcore.
2095
2096         Fix that allows fixed length values to be floating point
2097         https://bugs.webkit.org/show_bug.cgi?id=52699
2098
2099         * WebCore.xcodeproj/project.pbxproj:
2100         * css/CSSStyleSelector.cpp:
2101         (WebCore::convertToLength):
2102         (WebCore::convertToIntLength):
2103         (WebCore::convertToFloatLength):
2104         (WebCore::CSSStyleSelector::applyProperty):
2105         (WebCore::CSSStyleSelector::createTransformOperations):
2106         * platform/Length.h:
2107         (WebCore::Length::Length):
2108         (WebCore::Length::operator==):
2109         (WebCore::Length::operator!=):
2110         (WebCore::Length::rawValue):
2111         (WebCore::Length::type):
2112         (WebCore::Length::quirk):
2113         (WebCore::Length::setValue):
2114         (WebCore::Length::calcFloatValue):
2115         (WebCore::Length::isZero):
2116         (WebCore::Length::blend):
2117         (WebCore::Length::getIntValue):
2118         (WebCore::Length::getFloatValue):
2119         * rendering/AutoTableLayout.cpp:
2120         (WebCore::AutoTableLayout::recalcColumn):
2121         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
2122         * rendering/FixedTableLayout.cpp:
2123         (WebCore::FixedTableLayout::calcWidthArray):
2124
2125 2011-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>
2126
2127         Unreviewed, rolling out r80800.
2128         http://trac.webkit.org/changeset/80800
2129         https://bugs.webkit.org/show_bug.cgi?id=56163
2130
2131         Caused hundreds of tests to crash on Windows 7 (Requested by
2132         rniwa on #webkit).
2133
2134         * page/EventHandler.cpp:
2135         (WebCore::EventHandler::mouseMoved):
2136         (WebCore::EventHandler::updateMouseEventTargetNode):
2137         * page/FocusController.cpp:
2138         (WebCore::FocusController::setActive):
2139         * page/FrameView.cpp:
2140         (WebCore::FrameView::FrameView):
2141         (WebCore::FrameView::~FrameView):
2142         * page/FrameView.h:
2143         * page/Page.cpp:
2144         * page/Page.h:
2145         * platform/ScrollView.cpp:
2146         (WebCore::ScrollView::wheelEvent):
2147         * platform/ScrollView.h:
2148         * rendering/RenderDataGrid.cpp:
2149         (WebCore::RenderDataGrid::RenderDataGrid):
2150         (WebCore::RenderDataGrid::~RenderDataGrid):
2151         * rendering/RenderLayer.cpp:
2152         (WebCore::RenderLayer::RenderLayer):
2153         (WebCore::RenderLayer::~RenderLayer):
2154         * rendering/RenderLayer.h:
2155         * rendering/RenderListBox.cpp:
2156         (WebCore::RenderListBox::RenderListBox):
2157         (WebCore::RenderListBox::~RenderListBox):
2158
2159 2011-03-10  Alice Boxhall  <aboxhall@chromium.org>
2160
2161         Reviewed by Dimitri Glazkov.
2162
2163         NULL pointer crash when using :empty and :first-line pseudoclass selectors together
2164         https://bugs.webkit.org/show_bug.cgi?id=53316
2165
2166         :empty is calculated for each element during parsing, but then not 
2167         recalculated after any child elements are attached. Force style 
2168         re-calculation on elements which have :empty in their style when
2169         their children are changed.
2170
2171         Test: fast/css/empty-first-line-crash.html
2172
2173         * dom/Element.cpp:
2174         (WebCore::checkForEmptyStyleChange): Pull out empty style checking
2175         logic from checkForSiblingStyleChanges().
2176         (WebCore::checkForSiblingStyleChanges): Use new checkForEmptyStyleChanges()
2177         method.
2178         (WebCore::Element::childrenChanged):  Call checkForEmptyStyleChanges() when
2179         called with changedByParser = true.
2180
2181 2011-03-10  Emil A Eklund  <eae@chromium.org>
2182
2183         Unreviewed build fix.
2184
2185         Fix Leopard Release build broken by r80797.
2186
2187         * html/CollectionCache.h:
2188
2189 2011-03-10  Beth Dakin  <bdakin@apple.com>
2190
2191         Reviewed by Darin Adler.
2192
2193         Fix for <rdar://problem/8944558> Overlay scrollers in overflow areas need to 
2194         send notifications appropriate times (showing up, resizing)
2195         -and corresponding-
2196         https://bugs.webkit.org/show_bug.cgi?id=56067
2197
2198         The general strategy here is to add a HashSet of ScrollableAreas to the page that 
2199         can be accessed when necessary to send notifications to all ScrollableAreas.
2200
2201         Find layers for relevant node and if the layers are in the Page's ScrollableArea 
2202         set, then send the relevant notification.
2203         * page/EventHandler.cpp:
2204         (WebCore::EventHandler::mouseMoved):
2205         (WebCore::EventHandler::updateMouseEventTargetNode):
2206
2207         When the page is set active or not active, iterate through the Page's 
2208         ScrollableAreas to send hide/show notifications. 
2209         * page/FocusController.cpp:
2210         (WebCore::FocusController::setActive):
2211
2212         When a FrameView is created, add it to the ScrollableArea set. When it's 
2213         destroyed, remove it.
2214         * page/FrameView.cpp:
2215         (WebCore::FrameView::FrameView):
2216         (WebCore::FrameView::~FrameView):
2217
2218         Iterate through the Page's ScrollableAreas to send the paint notification.
2219         (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
2220         * page/FrameView.h:
2221
2222         Add the new ScrollableArea set.
2223         * page/Page.cpp:
2224         (WebCore::Page::addScrollableArea):
2225         (WebCore::Page::removeScrollableArea):
2226         (WebCore::Page::pageContainsScrollableArea):
2227         * page/Page.h:
2228         (WebCore::Page::scrollableAreaSet):
2229
2230         notifyPageThatContentAreaWillPaint() is a dummy function implemented in FrameView.
2231         * platform/ScrollView.cpp:
2232         (WebCore::ScrollView::notifyPageThatContentAreaWillPaint):
2233
2234         Call notifyPageThatContentAreaWillPaint() instead of calling 
2235         contentAreaWillPaint() just for the ScrollView.
2236         (WebCore::ScrollView::paint):
2237         * platform/ScrollView.h:
2238
2239         Add/remove ScrollableAreas to the set.
2240         * rendering/RenderDataGrid.cpp:
2241         (WebCore::RenderDataGrid::RenderDataGrid):
2242         (WebCore::RenderDataGrid::~RenderDataGrid):
2243         * rendering/RenderListBox.cpp:
2244         (WebCore::RenderListBox::RenderListBox):
2245         (WebCore::RenderListBox::~RenderListBox):
2246         * rendering/RenderLayer.cpp:
2247         (WebCore::RenderLayer::RenderLayer):
2248         (WebCore::RenderLayer::~RenderLayer):
2249
2250         Should have implemented this ScrollableArea-interface function a while ago.
2251         (WebCore::RenderLayer::currentMousePosition):
2252         * rendering/RenderLayer.h:
2253
2254 2011-03-10  takano takumi  <takano@apple.com>
2255
2256         Reviewed by David Hyatt.
2257
2258         Crash in RenderCombineText::combineText when running fast/text/international/text-combine-parser-test.html on Windows with full page heap enabled
2259         https://bugs.webkit.org/show_bug.cgi?id=55069
2260
2261         No new tests. If the test above runs without crash, the fix should be okay.
2262
2263         * dom/Node.cpp:
2264         (WebCore::Node::diff):
2265         - Changed to return Detach when textCombine style was changed.
2266         * rendering/RenderCombineText.cpp:
2267         (WebCore::RenderCombineText::styleDidChange):
2268         (WebCore::RenderCombineText::setTextInternal):
2269         (WebCore::RenderCombineText::width):
2270         (WebCore::RenderCombineText::adjustTextOrigin):
2271         (WebCore::RenderCombineText::charactersToRender):
2272         (WebCore::RenderCombineText::combineText):
2273         - Added assertions to ensure the passed object is RenderCombineText.
2274         * rendering/RenderCombineText.h:
2275         (WebCore::RenderCombineText::isCombineText):
2276         - Added to distinguish plain RenderText and RenderCombineText.
2277         (WebCore::toRenderCombineText):
2278         - Added assertions to ensure the passed object is RenderCombineText.
2279         * rendering/RenderObject.h:
2280         (WebCore::RenderObject::isCombineText):
2281         - Added to distinguish plain RenderText and RenderCombineText.
2282
2283 2011-03-10  Emil A Eklund  <eae@chromium.org>
2284
2285         Reviewed by Darin Adler.
2286
2287         Collection cache not reset when moving base node between documents
2288         https://bugs.webkit.org/show_bug.cgi?id=55446
2289
2290         Fix bug where HTMLCollection::resetCollectionInfo does not reset the
2291         cache when the base node is moved to a different document by making sure
2292         that the DOMVersion is updated and that it's unique across documents.
2293
2294         Tests: fast/dom/HTMLFormElement/invalid-form-field.html
2295                fast/dom/HTMLFormElement/move-option-between-documents.html
2296                fast/dom/collection-nameditem-move-between-documents.html
2297
2298         * dom/Document.cpp:
2299         (WebCore::Document::Document):
2300         * dom/Document.h:
2301         (WebCore::Document::incDOMTreeVersion):
2302         (WebCore::Document::domTreeVersion):
2303         * dom/Node.cpp:
2304         (WebCore::Node::setDocumentRecursively):
2305         * html/FormAssociatedElement.cpp:
2306         (WebCore::FormAssociatedElement::resetFormOwner):
2307         * html/HTMLCollection.cpp:
2308         (WebCore::HTMLCollection::resetCollectionInfo):
2309         * xml/XPathResult.h:
2310
2311 2011-03-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2312
2313         Unreviewed build fix.
2314
2315         [EFL] Fix build break when CROSS_PLATFORM_CONTEXT_MENUS is disabled.
2316         https://bugs.webkit.org/show_bug.cgi?id=56005
2317
2318         There are build breaks when CROSS_PLATFORM_CONTEXT_MENUS is disabled.
2319
2320         * platform/efl/ContextMenuEfl.cpp:
2321         (WebCore::ContextMenu::ContextMenu):
2322         * platform/efl/ContextMenuItemEfl.cpp:
2323
2324 2011-03-10  Ryosuke Niwa  <rniwa@webkit.org>
2325
2326         Reviewed by Tony Chang.
2327
2328         startOfBlock and endOfBlock may return a position inside hr
2329         https://bugs.webkit.org/show_bug.cgi?id=56025
2330
2331         Replaced calls to enclosingBlockFlowElement in startOfBlock and endOfBlock by
2332         calls to enclosingBlock. Added EditingBoundaryCrossingRule to the argument lists
2333         of startOfBlock, endOfBlock, and enclosingBlock. Also replaced the last boolean
2334         argument variable of enclosingNodeOfType by EditingBoundaryCrossingRule.
2335
2336         Also replaced calls to enclosingBlockFlowElement in inSameBlock by calls to
2337         enclosingBlock to be consitent with startOfBlock and endOfBlock.
2338
2339         This patch also replaced calls to deprecatedNode in startOfBlock, endOfBlock,
2340         and inSameBlock by calls to containerNode because the enclosing block of a position
2341         should never be before or after the position.
2342
2343         No tests are added because this change only affects WebCore internally.
2344
2345         * editing/DeleteSelectionCommand.cpp:
2346         (WebCore::DeleteSelectionCommand::initializePositionData): Calls enclosingNodeOfType.
2347         Pass CanCrossEditingBoundary instead of false.
2348         * editing/htmlediting.cpp:
2349         (WebCore::unsplittableElementForPosition): Ditto.
2350         (WebCore::enclosingBlock): Takes EditingBoundaryCrossingRule and passes it to
2351         enclosingNodeOfType.
2352         (WebCore::enclosingNodeOfType): Takes EditingBoundaryCrossingRule instead of boolean.
2353         Fixed a bug that it stops walking the tree when it reached the root editable node
2354         even when the editing boundary crossing rule is CanCrossEditingBoundary.
2355         * editing/htmlediting.h: Prototype changes.
2356         * editing/visible_units.cpp:
2357         (WebCore::startOfBlock): Calls enclosingBlock instead of enclosingBlockFlowElement.
2358         Also added an early exit when there's no enclosing block.
2359         (WebCore::endOfBlock): Ditto. The early exist in this case prevents crash in
2360         lastPositionInNode.
2361         (WebCore::inSameBlock): Calls enclosingBlock instead of enclosingBlockFlowElement.
2362         (WebCore::isStartOfBlock): Calls startOfBlock with CanCrossEditingBoundary because
2363         we don't care where the start of block is when we're comparing against the given position.
2364         (WebCore::isEndOfBlock): Ditto.
2365         * editing/visible_units.h:
2366
2367 2011-03-10  Alexey Proskuryakov  <ap@apple.com>
2368
2369         Reviewed by Dan Bernstein.
2370
2371         Backspace deletes all non-BMP symbols at once, and then some
2372         https://bugs.webkit.org/show_bug.cgi?id=55971
2373         <rdar://problem/8725312>
2374
2375         Test: platform/mac/editing/input/insert-delete-smp-symbol.html
2376
2377         * rendering/RenderText.cpp:
2378         (WebCore::isMark): This matches what Core Foundation does for all characters that I tested.
2379         (WebCore::RenderText::previousOffsetForBackwardDeletion): Changed to use isMark().
2380
2381 2011-03-10  Chris Evans  <cevans@chromium.org>
2382
2383         Reviewed by Adam Barth.
2384
2385         Error in StyleElement::process with large nodesets
2386         https://bugs.webkit.org/show_bug.cgi?id=56150
2387
2388         Test: none due to excessive runtime and CRASH() vs. real crash.
2389
2390         * dom/StyleElement.cpp:
2391         (WebCore::StyleElement::process): Handle large node sets better.
2392
2393 2011-03-10  David Hyatt  <hyatt@apple.com>
2394
2395         Reviewed by Simon Fraser.
2396
2397         https://bugs.webkit.org/show_bug.cgi?id=47151
2398         
2399         Percentage heights should skip anonymous containing blocks when computing the used value.
2400
2401         Added fast/block/basic/percentage-height-inside-anonymous-block.html
2402
2403         * rendering/RenderBox.cpp:
2404         (WebCore::RenderBox::computePercentageLogicalHeight):
2405
2406 2011-03-10  Nat Duca  <nduca@chromium.org>
2407
2408         Reviewed by James Robinson.
2409
2410         [chromium] Make updateAndDrawLayers argumentless.
2411         https://bugs.webkit.org/show_bug.cgi?id=55985
2412
2413         Made the TilePainters and viewport parameters for
2414         LayerRendererChromium member variables instead of arguments on
2415         updateAndDrawLayers. In a future change, this will allows us to
2416         draw the layer tree without the WebView's assistance.
2417
2418         * platform/graphics/chromium/LayerRendererChromium.cpp:
2419         (WebCore::LayerRendererChromium::create):
2420         (WebCore::LayerRendererChromium::LayerRendererChromium):
2421         (WebCore::LayerRendererChromium::verticalScrollbarRect):
2422         (WebCore::LayerRendererChromium::horizontalScrollbarRect):
2423         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
2424         (WebCore::LayerRendererChromium::updateRootLayerContents):
2425         (WebCore::LayerRendererChromium::updateRootLayerScrollbars):
2426         (WebCore::LayerRendererChromium::drawRootLayer):
2427         (WebCore::LayerRendererChromium::setViewport):
2428         (WebCore::LayerRendererChromium::updateAndDrawLayers):
2429         (WebCore::LayerRendererChromium::updateLayers):
2430         (WebCore::LayerRendererChromium::drawLayers):
2431         (WebCore::LayerRendererChromium::setRootLayer):
2432         (WebCore::LayerRendererChromium::getFramebufferPixels):
2433         (WebCore::LayerRendererChromium::cleanupSharedObjects):
2434         * platform/graphics/chromium/LayerRendererChromium.h:
2435         (WebCore::LayerRendererChromium::viewportSize):
2436         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2437         (WebCore::CCHeadsUpDisplay::draw):
2438
2439 2011-01-25  Martin Robinson  <mrobinson@igalia.com>
2440
2441         Reviewed by Xan Lopez.
2442
2443         [GTK] Implement spin buttons for GTK+ 2.x
2444         https://bugs.webkit.org/show_bug.cgi?id=53098
2445
2446         Implement spin buttons for GTK+ 2.x. This allows proper render and functioning
2447         for input type=number. The implementation is based on the one in gtkspinbutton.c
2448         from the GTK+ sources.
2449
2450         * platform/gtk/RenderThemeGtk.h: Added new members and getters.
2451         * platform/gtk/RenderThemeGtk2.cpp:
2452         (WebCore::RenderThemeGtk::platformInit): Initialize spin button widget.
2453         (WebCore::RenderThemeGtk::adjustRepaintRect): We need to draw outside the
2454         spin button area to have proper rendering. There doesn't seem to be any other
2455         clean way of having spin buttons that are the size of the text input frame.
2456         (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle): Added implementation.
2457         (WebCore::RenderThemeGtk::paintInnerSpinButton): Ditto.
2458         (WebCore::RenderThemeGtk::gtkSpinButton): Added.
2459
2460 2011-03-10  Levi Weintraub  <leviw@chromium.org>
2461
2462         Reviewed by Ryosuke Niwa.
2463
2464         InsertUnorderedList over a non-editable region and multiple lines enters an infinite loop
2465         https://bugs.webkit.org/show_bug.cgi?id=53409
2466
2467         Fixing broken handling of mixed-editability content for InsertListCommand. Previously, if the selection
2468         spanned non-contenteditable regions, it would get stuck endlessly iterating the same region as the algorithm
2469         didn't skip the editable boundary.
2470
2471         Test: editing/execCommand/insert-list-with-noneditable-content.html
2472
2473         * editing/CompositeEditCommand.cpp:
2474         (WebCore::CompositeEditCommand::cleanupAfterDeletion): Changed signature to take the destination
2475         position for the active editing command. Without this, there are cases when the destination happens
2476         to be a placeholder, and we remove it.
2477         (WebCore::CompositeEditCommand::moveParagraphs):
2478         * editing/CompositeEditCommand.h:
2479         * editing/InsertListCommand.cpp:
2480         (WebCore::InsertListCommand::doApply): Added logic to the paragraph iteration loop to handle pockets of
2481         non-editable content in an editable context. Previously, this could cause an infinite loop.
2482         * editing/visible_units.cpp:
2483         (WebCore::startOfParagraph): Added a mode of operation where we'll jump across non-editable
2484         content in the same paragraph to reach the actual editable paragraph start.
2485         (WebCore::endOfParagraph): Ditto.
2486         (WebCore::startOfNextParagraph): Now uses the aforementioned non-editable content skipping mode of
2487         endOfParagraph.
2488
2489 2011-03-10  Berend-Jan Wever  <skylined@chromium.org>
2490
2491         Reviewed by Darin Adler.
2492
2493         Calling focus() on an area element not in a document should not cause a NULL ptr crash
2494         https://bugs.webkit.org/show_bug.cgi?id=54877
2495
2496         Test: fast/dom/HTMLAreaElement/area-islink-focus-null-ptr-crash.html
2497
2498         * dom/Element.cpp:
2499         (WebCore::Element::focus): Check element is in the document before allowing focus
2500         * html/HTMLAreaElement.cpp: 
2501         (WebCore::HTMLAreaElement::imageElement): Check element has a parent before checking if its parent is a map
2502
2503 2011-03-10  Xiyuan Xia  <xiyuan@chromium.org>
2504
2505         Reviewed by Tony Chang.
2506
2507         [Chromium] Fix default single selection select's popup background on chromium/linux
2508         https://bugs.webkit.org/show_bug.cgi?id=56023
2509
2510         Test: fast/html/select-dropdown-consistent-background-color.html
2511
2512         * css/themeChromiumLinux.css:
2513
2514 2011-03-10  Kris Jordan  <krisjordan@gmail.com>
2515
2516         Reviewed by Alexey Proskuryakov.
2517
2518         Improve default Accept header to give preference to HTML over XML.
2519         https://bugs.webkit.org/show_bug.cgi?id=27267
2520
2521         * loader/FrameLoader.cpp:Changed default accept header to match
2522         FireFox' as per bug 27267.
2523
2524 2011-03-10  Martin Robinson  <mrobinson@igalia.com>
2525
2526         Reviewed by Xan Lopez.
2527
2528         [GTK] [Webkit2] There are no scrollbars visible in the MiniBrowser
2529         https://bugs.webkit.org/show_bug.cgi?id=56125
2530
2531         No new tests. This functionality will be tested once we have TestRunner
2532         implementation for WebKit2 with pixel dumping support.
2533
2534         * GNUmakefile.am: Add a new define with tracks whether or not we are using
2535         our specialized GTK+ ScrollView.
2536         * platform/ScrollView.cpp: Only use the GTK+-specific ScrollView if we are compiling
2537         WebKit1.
2538         (WebCore::ScrollView::wheelEvent):
2539         * platform/gtk/ScrollViewGtk.cpp: Ditto.
2540
2541 2011-03-10  Kent Tamura  <tkent@chromium.org>
2542
2543         Reviewed by Dimitri Glazkov.
2544
2545         Assertion fails by validating a form twice very quickly
2546         https://bugs.webkit.org/show_bug.cgi?id=56069
2547
2548         If the interactive validation is invoked when a form control is in
2549         needsLayout() state, an assertion in isFocusable() fails. To avoid it,
2550         Add a call to updateLayoutIgnorePendingStylesheets() before isFocusable().
2551
2552         Test: fast/forms/interactive-validation-assertion-by-validate-twice.html
2553
2554         * html/HTMLFormElement.cpp:
2555         (WebCore::HTMLFormElement::validateInteractively):
2556           Calls updateLayoutIgnorePendingStylesheets().
2557
2558 2011-03-10  David Hyatt  <hyatt@apple.com>
2559
2560         Reviewed by Beth Dakin.
2561
2562         https://bugs.webkit.org/show_bug.cgi?id=47143
2563         
2564         Static distance computation is wrong when an ancestor is also positioned.  We need to go up the container()
2565         chain (after initially starting with the parent()) when doing this computation, so that we properly skip
2566         intermediate boxes between two positioned blocks.
2567
2568         Added fast/block/positioning/static-distance-with-positioned-ancestor.html.
2569
2570         * rendering/RenderBox.cpp:
2571         (WebCore::computeInlineStaticDistance):
2572         (WebCore::computeBlockStaticDistance):
2573
2574 2011-03-10  Adrienne Walker  <enne@google.com>
2575
2576         Reviewed by Kenneth Russell.
2577
2578         [chromium] Make tiled compositor data structure more efficient.
2579         https://bugs.webkit.org/show_bug.cgi?id=54133
2580
2581         Previously, the compositor had a sparse 2D array of tiles for the
2582         whole page, most of which were null.  The tiles were implicitly
2583         located based on their position in the array. This was inefficient
2584         when the page grew (e.g. infinite scrolling) and caused some bugs
2585         (e.g. width * height > MAX_INT).  This change modifies tiles to have
2586         explicit positions so they can be stored in a hash map.
2587
2588         Tests: LayoutTests/compositing/
2589
2590         * platform/graphics/chromium/LayerTilerChromium.cpp:
2591         (WebCore::LayerTilerChromium::reset):
2592         (WebCore::LayerTilerChromium::createTile):
2593         (WebCore::LayerTilerChromium::invalidateTiles):
2594         (WebCore::LayerTilerChromium::contentRectToTileIndices):
2595         (WebCore::LayerTilerChromium::tileAt):
2596         (WebCore::LayerTilerChromium::tileContentRect):
2597         (WebCore::LayerTilerChromium::tileLayerRect):
2598         (WebCore::LayerTilerChromium::invalidateRect):
2599         (WebCore::LayerTilerChromium::invalidateEntireLayer):
2600         (WebCore::LayerTilerChromium::update):
2601         (WebCore::LayerTilerChromium::updateFromPixels):
2602         (WebCore::LayerTilerChromium::draw):
2603         (WebCore::LayerTilerChromium::growLayerToContain):
2604         * platform/graphics/chromium/LayerTilerChromium.h:
2605         (WebCore::LayerTilerChromium::Tile::Tile):
2606         (WebCore::LayerTilerChromium::Tile::i):
2607         (WebCore::LayerTilerChromium::Tile::j):
2608         (WebCore::LayerTilerChromium::Tile::moveTo):
2609         (WebCore::LayerTilerChromium::TileMapKeyTraits::emptyValue):
2610         (WebCore::LayerTilerChromium::TileMapKeyTraits::constructDeletedValue):
2611         (WebCore::LayerTilerChromium::TileMapKeyTraits::isDeletedValue):
2612
2613 2011-03-10  Ryosuke Niwa  <rniwa@webkit.org>
2614
2615         Unreviewed build fix for r80752; Negated the boolean logic.
2616
2617         * editing/VisiblePosition.cpp:
2618         (WebCore::VisiblePosition::next):
2619         (WebCore::VisiblePosition::previous):
2620
2621 2011-03-10  David Hyatt  <hyatt@apple.com>
2622
2623         Reviewed by Adam Roben.
2624
2625         Make the same change to xheight on Windows for CG.
2626
2627         * platform/graphics/win/SimpleFontDataCGWin.cpp:
2628         (WebCore::SimpleFontData::platformInit):
2629
2630 2011-03-10  David Hyatt  <hyatt@apple.com>
2631
2632         Reviewed by Simon Fraser.
2633
2634         https://bugs.webkit.org/show_bug.cgi?id=47147
2635         
2636         Fix for repaint issues when the root element is a table and needs to paint a background that
2637         covers the entire canvas.  Remove paintRootBoxDecorations and replace with paintRootBoxFillLayers,
2638         so that it can be called only for fill layer painting.  Make tables and normal boxes both
2639         call this new method.  Fix the dirty check at the start of RenderTable paint to not happen if
2640         the table is the root of the document (this same check exists in RenderBlock painting already).
2641
2642         * rendering/RenderBox.cpp:
2643         (WebCore::RenderBox::paintRootBoxFillLayers):
2644         (WebCore::RenderBox::paintBoxDecorations):
2645         (WebCore::RenderBox::paintBoxDecorationsWithSize):
2646         * rendering/RenderBox.h:
2647         * rendering/RenderLayerCompositor.cpp:
2648         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
2649         * rendering/RenderTable.cpp:
2650         (WebCore::RenderTable::paint):
2651         (WebCore::RenderTable::paintBoxDecorations):
2652
2653 2011-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>
2654
2655         Unreviewed, rolling out r80749.
2656         http://trac.webkit.org/changeset/80749
2657         https://bugs.webkit.org/show_bug.cgi?id=56143
2658
2659         "Caused at least 3 media tests to be flaky" (Requested by
2660         tonyg-cr on #webkit).
2661
2662         * html/parser/HTMLDocumentParser.cpp:
2663         (WebCore::HTMLDocumentParser::canTakeNextToken):
2664         (WebCore::HTMLDocumentParser::pumpTokenizer):
2665         * html/parser/HTMLParserScheduler.cpp:
2666         * html/parser/HTMLParserScheduler.h:
2667         (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
2668         * page/FrameView.h:
2669
2670 2011-03-10  Sam Weinig  <sam@webkit.org>
2671
2672         Reviewed by David Hyatt.
2673
2674         Regression: Content not drawn when scrolling horizontally in an RTL page
2675         https://bugs.webkit.org/show_bug.cgi?id=55077
2676
2677         * platform/ScrollView.cpp:
2678         (WebCore::ScrollView::overhangAmount):
2679         (WebCore::ScrollView::calculateOverhangAreasForPainting):
2680         Take the scroll origin into account when calculating overhang.
2681
2682         * platform/ScrollView.h:
2683         * rendering/RenderLayer.h:
2684         * platform/ScrollableArea.h:
2685         (WebCore::ScrollableArea::scrollOrigin):
2686         Move identical scroll origin member from ScrollView and RenderLayer
2687         to shared base ScrollableArea. This is also needed so that the animator
2688         can access it.
2689
2690         * platform/mac/ScrollAnimatorMac.mm:
2691         (WebCore::ScrollAnimatorMac::pinnedInDirection):
2692         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
2693         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
2694         Account for a scroll origin when doing calculating scroll offsets.
2695
2696 2011-03-09  Matthew Delaney  <mdelaney@apple.com>
2697
2698         Reviewed by Simon Fraser.
2699
2700         Plumb through settings for accelerated drawing for canvas
2701         https://bugs.webkit.org/show_bug.cgi?id=56039
2702
2703         No new tests. Doesn't affect behavior, just adding a switch to toggle canvas backends.
2704
2705         * WebCore.exp.in:
2706         * html/HTMLCanvasElement.cpp:
2707         * html/canvas/CanvasRenderingContext2D.cpp:
2708         * page/Settings.cpp:
2709         * page/Settings.h:
2710
2711 2011-03-10  David Hyatt  <hyatt@apple.com>
2712
2713         Reviewed by Simon Fraser.
2714
2715         https://bugs.webkit.org/show_bug.cgi?id=47157
2716         
2717         CSS2.1 test suite failures because the ex unit is broken with the Ahem font.
2718         
2719         Remove the code that tries to also include the maxX of the glyph bounds for the
2720         'x' glyph, since it just causes the x-height to be way too large in cases where the 'x' glyph extends
2721         below the baseline.
2722
2723         Remove the Apple Symbol hack for ex units, since the person who added that was confused by another
2724         issue, namely that CGFontGetXHeight wasn't being properly multiplied by the pointSize.  That's why
2725         the value was too small.  Patched the code to just multiply by pointSize and took out the hack.
2726         
2727         Fix causes many tests in the css2.1 directory to progress, so no new tests required.  Many other
2728         layout tests change because the xHeight for Lucida Grande gets smaller by a little bit, and radio
2729         buttons use ex horizontal margins by default.
2730
2731         * platform/graphics/mac/SimpleFontDataMac.mm:
2732         (WebCore::SimpleFontData::platformInit):
2733
2734 2011-03-10  Ryosuke Niwa  <rniwa@webkit.org>
2735
2736         Reviewed by Tony Chang.
2737
2738         VisiblePosition's next and previous should take an enum instead of a boolean
2739         https://bugs.webkit.org/show_bug.cgi?id=56135
2740
2741         Changed the argument type of VisiblePosition::next and VisiblePosition::previous
2742         from bool to EditingBoundaryCrossingRule. Also got rid of StayInEditableContent enum
2743         in VisibleSelection and replaced it by EditingBoundaryCrossingRule because the enum
2744         was only used in VisiblePosition::isAll and subsequently in SelectionController::isAll
2745         to call VisiblePosition::next and VisiblePosition::previous.
2746
2747         * WebCore.exp.in:
2748         * dom/Position.cpp:
2749         (WebCore::Position::trailingWhitespacePosition):
2750         * editing/ApplyBlockElementCommand.cpp:
2751         (WebCore::ApplyBlockElementCommand::doApply):
2752         * editing/CompositeEditCommand.cpp:
2753         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
2754         * editing/InsertListCommand.cpp:
2755         (WebCore::InsertListCommand::doApply):
2756         (WebCore::InsertListCommand::listifyParagraph):
2757         * editing/ReplaceSelectionCommand.cpp:
2758         (WebCore::ReplaceSelectionCommand::shouldMergeStart):
2759         (WebCore::ReplaceSelectionCommand::shouldMergeEnd):
2760         (WebCore::ReplaceSelectionCommand::doApply):
2761         * editing/SelectionController.cpp:
2762         (WebCore::SelectionController::modifyExtendingRight):
2763         (WebCore::SelectionController::modifyExtendingForward):
2764         (WebCore::SelectionController::modifyMovingForward):
2765         (WebCore::SelectionController::modifyExtendingLeft):
2766         (WebCore::SelectionController::modifyExtendingBackward):
2767         (WebCore::SelectionController::modifyMovingBackward):
2768         * editing/SelectionController.h:
2769         (WebCore::SelectionController::isAll):
2770         * editing/TypingCommand.cpp:
2771         (WebCore::TypingCommand::deleteKeyPressed):
2772         (WebCore::TypingCommand::forwardDeleteKeyPressed):
2773         * editing/VisiblePosition.cpp:
2774         (WebCore::VisiblePosition::next):
2775         (WebCore::VisiblePosition::previous):
2776         * editing/VisiblePosition.h:
2777         * editing/VisibleSelection.cpp:
2778         (WebCore::VisibleSelection::isAll):
2779         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
2780         * editing/VisibleSelection.h:
2781         * editing/htmlediting.cpp:
2782         (WebCore::selectionForParagraphIteration):
2783         * editing/visible_units.cpp:
2784         (WebCore::startOfNextParagraph):
2785
2786 2011-03-10  Mihai Parparita  <mihaip@chromium.org>
2787
2788         Reviewed by Tony Gentilcore.
2789
2790         Remove CRASH() calls added to track down bug 53045
2791         https://bugs.webkit.org/show_bug.cgi?id=56137
2792
2793         Remove CRASH() calls added by r76575 and re-label ones added by r80155
2794         and r80269 as being associated with bug 56124 (which may still be
2795         happening).
2796
2797         * css/CSSImageValue.cpp:
2798         (WebCore::CSSImageValue::cachedImage):
2799         * css/CSSSelector.h:
2800         * css/CSSSelectorList.cpp:
2801         (WebCore::CSSSelectorList::deleteSelectors):
2802         * loader/cache/CachedResource.cpp:
2803         (WebCore::CachedResource::CachedResource):
2804         (WebCore::CachedResource::~CachedResource):
2805         * loader/cache/CachedResource.h:
2806
2807 2011-03-10  Tony Gentilcore  <tonyg@chromium.org>
2808
2809         Reviewed by Eric Seidel.
2810
2811         Let the parser yield for layout before running scripts
2812         https://bugs.webkit.org/show_bug.cgi?id=54355
2813
2814         Prior to this patch, the parser would yield to perform a layout/paint before running a
2815         script only if the script or a stylesheet blocking the script is not loaded yet. Since we
2816         don't preload scan into the body while parsing the head, typically we'll block on a script
2817         early in the body that causes us to yield to do the first paint within a reasonable time.
2818
2819         However, I'm planning to change the PreloadScanner to scan into the body from the head.
2820         That significantly improves overall load time, but would hurt first paint time because
2821         fewer scripts would be blocked during parsing and thus wouldn't yield.
2822
2823         This change causes us to yield before running scripts if we haven't painted yet (regardless
2824         of whether or not the script is loaded). In addition to allowing the above mentioned
2825         PreloadScanner change to be implemented without regressing first paint time, this also
2826         improves first paint time by itself.
2827
2828         I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate
2829         bandwidth. This patch improved average first paint time by 1% over an unlimited connection,
2830         6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
2831         signifcant change in page load time.
2832
2833         Within the pages tested, 33 had no statistically significant change in time to first paint,
2834         12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
2835         are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
2836
2837         * html/parser/HTMLDocumentParser.cpp:
2838         (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point.
2839         (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
2840         means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does
2841         the right thing whether we are just before a token or waiting for a script. Now that we may
2842         yield before a token or before a script, this may be called while paused.
2843         * html/parser/HTMLParserScheduler.cpp:
2844         (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
2845         * page/FrameView.h:
2846         (WebCore::FrameView::hasEverPainted): Added.
2847
2848 2011-03-10  Alejandro G. Castro  <alex@igalia.com>
2849
2850         Reviewed by Martin Robinson.
2851
2852         Some Gtk code uses defined(USE_FREETYPE) instead of just USE(FREETYPE)
2853         https://bugs.webkit.org/show_bug.cgi?id=55996
2854
2855         Use the macre USE instead of defined fro WTF_USE_FREETYPE and
2856         WTF_USE_PANGO.
2857
2858         * GNUmakefile.am:
2859         * platform/graphics/cairo/OwnPtrCairo.cpp:
2860         * platform/graphics/cairo/OwnPtrCairo.h:
2861         * platform/graphics/cairo/RefPtrCairo.cpp:
2862         * platform/graphics/cairo/RefPtrCairo.h:
2863         * platform/graphics/gtk/FontGtk.cpp:
2864         (WebCore::setPangoAttributes):
2865         (WebCore::Font::drawComplexText):
2866         (WebCore::Font::floatWidthForComplexText):
2867         (WebCore::Font::offsetForPositionForComplexText):
2868         (WebCore::Font::selectionRectForComplexText):
2869
2870 2011-03-10  Geoffrey Garen  <ggaren@apple.com>
2871
2872         Reviewed by Oliver Hunt.
2873
2874         Rolled back in 80277 and 80280 with event handler layout test failures fixed.
2875         https://bugs.webkit.org/show_bug.cgi?id=55653
2876
2877         The failures were caused by a last minute typo: assigning to currentEvent
2878         instead of m_currentEvent.
2879
2880         * WebCore.xcodeproj/project.pbxproj:
2881         * bindings/js/JSDOMGlobalObject.cpp:
2882         * bindings/js/JSDOMGlobalObject.h:
2883         * bindings/js/JSDOMWindowBase.cpp:
2884         * bindings/js/JSDOMWindowBase.h:
2885         * bindings/js/JSDOMWindowCustom.h:
2886         * bindings/js/JSWorkerContextBase.cpp:
2887
2888 2011-03-10  David Hyatt  <hyatt@apple.com>
2889
2890         Reviewed by Dan Bernstein.
2891
2892         https://bugs.webkit.org/show_bug.cgi?id=56129, vertical text broken on Lion and Leopard.
2893
2894         Add Snow Leopard ifdefs for the scaling by point size and then the division by unitsPerEm to the
2895         translationsTransform applied to the results from CTFontGetVerticalTranslationsForGlyphs, since
2896         this is done already on Lion and Leopard.
2897
2898         * platform/graphics/mac/FontMac.mm:
2899         (WebCore::showGlyphsWithAdvances):
2900
2901 2011-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>
2902
2903         Unreviewed, rolling out r80701.
2904         http://trac.webkit.org/changeset/80701
2905         https://bugs.webkit.org/show_bug.cgi?id=56126
2906
2907         fast/dom/Geolocation/window-close-crash.html fails on Snow
2908         Leopard release builds (Requested by mihaip on #webkit).
2909
2910         * page/DOMWindow.cpp:
2911         * page/DOMWindow.h:
2912         * page/Frame.cpp:
2913         (WebCore::Frame::pageDestroyed):
2914         (WebCore::Frame::transferChildFrameToNewDocument):
2915         * page/Geolocation.cpp:
2916         (WebCore::Geolocation::~Geolocation):
2917         (WebCore::Geolocation::disconnectFrame):
2918         (WebCore::Geolocation::lastPosition):
2919         (WebCore::Geolocation::requestPermission):
2920         (WebCore::Geolocation::startUpdating):
2921         (WebCore::Geolocation::stopUpdating):
2922         * page/Geolocation.h:
2923         * page/GeolocationController.cpp:
2924         (WebCore::GeolocationController::~GeolocationController):
2925         * page/Navigator.cpp:
2926         * page/Navigator.h:
2927         * platform/mock/GeolocationClientMock.cpp:
2928         * platform/mock/GeolocationClientMock.h:
2929
2930 2011-03-10  Pratik Solanki  <psolanki@apple.com>
2931
2932         Reviewed by Alexey Proskuryakov.
2933
2934         ASSERT_NOT_REACHED triggered in WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority
2935         https://bugs.webkit.org/show_bug.cgi?id=56075
2936
2937         Map priority value 3, which means no priority, to ResourceLoadPriorityUnresolved.
2938
2939         * platform/network/cf/ResourceRequestCFNet.h:
2940         (WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority):
2941         (WebCore::mapResourceLoadPriorityToHTTPPipeliningPriority):
2942
2943 2011-03-10  Andrey Adaikin  <aandrey@google.com>
2944
2945         Reviewed by Pavel Feldman.
2946
2947         Web Inspector: [Text editor] Substitute live-edit mode activation by double-click
2948         https://bugs.webkit.org/show_bug.cgi?id=56084
2949
2950         Also fixed a regression: console was not opening/closing on ESC key press because tabIndex="0" attribute was preserved for a readOnly viewer.
2951
2952         * inspector/front-end/SourceFrame.js:
2953         (WebInspector.SourceFrame):
2954         (WebInspector.SourceFrame.prototype._startEditing):
2955         (WebInspector.SourceFrame.prototype._registerShortcuts):
2956         (WebInspector.SourceFrame.prototype._handleKeyDown):
2957         (WebInspector.SourceFrame.prototype._handleSave):
2958         (WebInspector.SourceFrame.prototype._handleRevertEditing):
2959         (WebInspector.SourceFrame.prototype._doubleClick):
2960         * inspector/front-end/TextEditorModel.js:
2961         (WebInspector.TextEditorModel.prototype.get text):
2962         * inspector/front-end/TextViewer.js:
2963         (WebInspector.TextViewer.prototype.get readOnly):
2964         (WebInspector.TextEditorMainPanel):
2965         (WebInspector.TextEditorMainPanel.prototype.set readOnly):
2966         (WebInspector.TextEditorMainPanel.prototype.get readOnly):
2967
2968 2011-03-10  Greg Simon  <gregsimon@chromium.org>
2969
2970         Reviewed by Pavel Feldman.
2971
2972         Web Inspector: Need new graphic icon for garbage collect button.
2973         https://bugs.webkit.org/show_bug.cgi?id=55794
2974
2975         No new tests: gc tests are flaky due to non-determinisic
2976         behavior of collection APIs (more notes in bug)
2977
2978         * English.lproj/localizedStrings.js:
2979         * WebCore.gypi:
2980         * bindings/js/ScriptProfiler.cpp:
2981         (WebCore::ScriptProfiler::collectGarbage):
2982         * bindings/js/ScriptProfiler.h:
2983         * bindings/v8/ScriptProfiler.cpp:
2984         (WebCore::ScriptProfiler::collectGarbage):
2985         * bindings/v8/ScriptProfiler.h:
2986         * inspector/Inspector.idl:
2987         * inspector/InspectorProfilerAgent.cpp:
2988         (WebCore::InspectorProfilerAgent::collectGarbage):
2989         * inspector/InspectorProfilerAgent.h:
2990         * inspector/front-end/Images/garbageCollectButtonGlyph.png: Added.
2991         * inspector/front-end/TimelinePanel.js:
2992         (WebInspector.TimelinePanel.prototype.get statusBarItems):
2993         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
2994         (WebInspector.TimelinePanel.prototype._garbageCollectButtonClicked):
2995         * inspector/front-end/inspector.css:
2996         (.garbage-collect-status-bar-item .glyph):
2997
2998 2011-03-10  Andrey Kosyakov  <caseq@chromium.org>
2999
3000         Web Inspector: better names for HAR export commands
3001         https://bugs.webkit.org/show_bug.cgi?id=56097
3002
3003         Rename Export to HAR to Copy entry/network log as HAR
3004         Expose Copy as HAR unconditionally, remove related settings entry.
3005
3006         * English.lproj/localizedStrings.js:
3007         * inspector/front-end/NetworkPanel.js:
3008         (WebInspector.NetworkPanel.prototype._contextMenu):
3009         * inspector/front-end/Settings.js:
3010
3011 2011-03-10  Qi Zhang  <qi.2.zhang@nokia.com>
3012
3013         Reviewed by Laszlo Gombos.
3014
3015         [Qt] Mobile Devices should include Model and Firmware Version in Webkit Generated User Agent String
3016         https://bugs.webkit.org/show_bug.cgi?id=48636
3017
3018         Fix a typo in features.pri that turns on this feature on mobile
3019         devices by default.
3020
3021         * features.pri:
3022
3023 2011-03-10  Alexander Pavlov  <apavlov@chromium.org>
3024
3025         Reviewed by Pavel Feldman.
3026
3027         Web Inspector: Invalid expected parameter list in CSSAgent.setSelectorText() callback (CSSStyleModel.js)
3028         https://bugs.webkit.org/show_bug.cgi?id=56092
3029
3030         * inspector/front-end/CSSStyleModel.js:
3031         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
3032
3033 2011-03-10  Pavel Feldman  <pfeldman@chromium.org>
3034
3035         Not reviewed: rolling out r80478 and its follow ups for breaking
3036         inspector and engadget.com.
3037         https://bugs.webkit.org/show_bug.cgi?id=49401
3038
3039         * dom/Document.cpp:
3040         (WebCore::Document::Document):
3041         (WebCore::performTask):
3042         (WebCore::Document::postTask):
3043         * dom/Document.h:
3044         * loader/FrameLoader.cpp:
3045         (WebCore::FrameLoader::setDefersLoading):
3046         * manual-tests/database-callback-deferred.html: Removed.
3047         * page/PageGroupLoadDeferrer.cpp:
3048         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
3049         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
3050
3051 2011-03-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3052
3053         Reviewed by Kenneth Rohde Christiansen.
3054
3055         Tiled backing store's delegated scroll request uses incorrect convention
3056         https://bugs.webkit.org/show_bug.cgi?id=56011
3057
3058         Use a point instead of delta, when relaying the scroll request from
3059         ScrollView::setScrollPosition.
3060
3061         * loader/EmptyClients.h:
3062         (WebCore::EmptyChromeClient::delegatedScrollRequested):
3063         * page/Chrome.cpp:
3064         (WebCore::Chrome::delegatedScrollRequested):
3065         * page/Chrome.h:
3066         * page/ChromeClient.h:
3067         * platform/HostWindow.h:
3068         * platform/ScrollView.cpp:
3069         (WebCore::ScrollView::setScrollPosition):
3070
3071 2011-03-10  Pavel Feldman  <pfeldman@chromium.org>
3072
3073         Reviewed by Yury Semikhatsky.
3074
3075         Web Inspector: brush up DOM agent API.
3076         https://bugs.webkit.org/show_bug.cgi?id=56093
3077
3078         * inspector/Inspector.idl:
3079         * inspector/InspectorDOMAgent.cpp:
3080         (WebCore::InspectorDOMAgent::childNodes):
3081         (WebCore::InspectorDOMAgent::setNodeName):
3082         (WebCore::InspectorDOMAgent::outerHTML):
3083         (WebCore::InspectorDOMAgent::setNodeValue):
3084         * inspector/InspectorDOMAgent.h:
3085         * inspector/front-end/DOMAgent.js:
3086         (WebInspector.DOMNode):
3087         (WebInspector.DOMNode.prototype.hasAttributes):
3088         (WebInspector.DOMNode.prototype.nodeType):
3089         (WebInspector.DOMNode.prototype.nodeName):
3090         (WebInspector.DOMNode.prototype.setNodeName):
3091         (WebInspector.DOMNode.prototype.localName):
3092         (WebInspector.DOMNode.prototype.nodeValue):
3093         (WebInspector.DOMNode.prototype.setNodeValue):
3094         (WebInspector.DOMNode.prototype.setAttribute):
3095         (WebInspector.DOMNode.prototype.attributes):
3096         (WebInspector.DOMNode.prototype.removeAttribute):
3097         (WebInspector.DOMNode.prototype.childNodes.mycallback):
3098         (WebInspector.DOMNode.prototype.childNodes):
3099         (WebInspector.DOMNode.prototype.outerHTML):
3100         (WebInspector.DOMNode.prototype.setOuterHTML):
3101         (WebInspector.DOMNode.prototype.removeNode):
3102         (WebInspector.DOMNode.prototype.copyNode):
3103         (WebInspector.DOMNode.prototype.path):
3104         (WebInspector.DOMNode.prototype._setAttributesPayload):
3105         (WebInspector.DOMNode.prototype._addAttribute):
3106         (WebInspector.DOMAgent.prototype._characterDataModified):
3107         * inspector/front-end/ElementsPanel.js:
3108         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
3109         (WebInspector.ElementsPanel.prototype.decorateNodeLabel):
3110         (WebInspector.ElementsPanel.prototype.handleCopyEvent):
3111         * inspector/front-end/ElementsTreeOutline.js:
3112         (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
3113         (WebInspector.ElementsTreeElement):
3114         (WebInspector.ElementsTreeElement.prototype.updateChildren):
3115         (WebInspector.ElementsTreeElement.prototype._updateChildren):
3116         (WebInspector.ElementsTreeElement.prototype._startEditingTarget):
3117         (WebInspector.ElementsTreeElement.prototype._startEditing):
3118         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
3119         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded):
3120         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
3121         (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
3122         (WebInspector.ElementsTreeElement.prototype._attributeHTML):
3123         ():
3124         * inspector/front-end/EventListenersSidebarPane.js:
3125         ():
3126         * inspector/front-end/MetricsSidebarPane.js:
3127         * inspector/front-end/StylesSidebarPane.js:
3128         * inspector/front-end/utilities.js:
3129
3130 2011-03-09  Alexander Pavlov  <apavlov@chromium.org>
3131
3132         Reviewed by Pavel Feldman.
3133
3134         Web Inspector: [STYLES] Editing a property value adds a word for any property value that uses a paren
3135         https://bugs.webkit.org/show_bug.cgi?id=56002
3136
3137         * inspector/front-end/StylesSidebarPane.js: Introduce an additional check.
3138
3139 2011-03-09  Pavel Podivilov  <podivilov@chromium.org>
3140
3141         Reviewed by Pavel Feldman.
3142
3143         Web Inspector: use DebuggerPresentation instead of DebuggerModel in source frame delegate.
3144         https://bugs.webkit.org/show_bug.cgi?id=56034
3145
3146         * inspector/front-end/DebuggerPresentationModel.js:
3147         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
3148         (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
3149         (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
3150         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
3151         (WebInspector.DebuggerPresentationModel.prototype._sourceLocationToActualLocation):
3152         * inspector/front-end/ScriptsPanel.js:
3153         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
3154         (WebInspector.SourceFrameDelegateForScriptsPanel):
3155         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setBreakpoint):
3156         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.updateBreakpoint):
3157         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.removeBreakpoint):
3158         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.findBreakpoint):
3159         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.continueToLine):
3160         * inspector/front-end/SourceFrame.js:
3161         (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
3162         (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
3163         (WebInspector.SourceFrame.prototype._contextMenu.else.setBreakpointEnabled):
3164         (WebInspector.SourceFrame.prototype._contextMenu):
3165         (WebInspector.SourceFrame.prototype._mouseDown):
3166         (WebInspector.SourceFrameDelegate.prototype.removeBreakpoint):
3167         (WebInspector.SourceFrameDelegate.prototype.updateBreakpoint):
3168
3169 2011-03-09  Alexander Pavlov  <apavlov@chromium.org>
3170
3171         Reviewed by Pavel Feldman.
3172
3173         Web Inspector: elements dom tree - word wrap toggle
3174         https://bugs.webkit.org/show_bug.cgi?id=44311
3175
3176         A "Word Wrap" option is now shown in a context menu for the entire DOM tree content area
3177         and persisted into application settings.
3178
3179         * English.lproj/localizedStrings.js:
3180         * inspector/front-end/ElementsPanel.js:
3181         (WebInspector.ElementsPanel.prototype._contextMenuEventFired):
3182         (WebInspector.ElementsPanel.prototype._contextMenuEventFired.toggleWordWrap):
3183         * inspector/front-end/ElementsTreeOutline.js:
3184         (WebInspector.ElementsTreeOutline):
3185         (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
3186         (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
3187         (WebInspector.ElementsTreeElement.prototype.onreveal):
3188         * inspector/front-end/Settings.js:
3189         (WebInspector.Settings):
3190         * inspector/front-end/inspector.css:
3191         (#elements-content.nowrap):
3192         (#elements-content > ol):
3193
3194 2011-03-09  Pavel Podivilov  <podivilov@chromium.org>
3195
3196         Reviewed by Pavel Feldman.
3197
3198         Web Inspector: re-implement breakpoints sidebar pane based on debugger presentation model.
3199         https://bugs.webkit.org/show_bug.cgi?id=55823
3200
3201         * inspector/front-end/BreakpointsSidebarPane.js:
3202         (WebInspector.JavaScriptBreakpointsSidebarPane):
3203         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint.didLoadSnippet):
3204         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
3205         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.removeBreakpoint):
3206         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.highlightBreakpoint):
3207         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
3208         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._createBreakpointItemId):
3209         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointClicked):
3210         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
3211         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenu):
3212         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.reset):
3213         * inspector/front-end/DebuggerPresentationModel.js:
3214         (WebInspector.DebuggerPresentationModel):
3215         (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
3216         (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
3217         (WebInspector.DebuggerPresentationModel.prototype._revealHiddenBreakpoints):
3218         (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
3219         (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
3220         (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
3221         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
3222         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
3223         (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
3224         (WebInspector.DebuggerPresentationModel.prototype.reset):
3225         * inspector/front-end/ScriptsPanel.js:
3226         (WebInspector.ScriptsPanel):
3227         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
3228         (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
3229         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
3230         (WebInspector.ScriptsPanel.prototype.reset):
3231         (WebInspector.ScriptsPanel.prototype._clearInterface):
3232
3233 2011-03-10  Andrey Adaikin  <aandrey@google.com>
3234
3235         Reviewed by Pavel Feldman.
3236
3237         Web Inspector: Highlighter refactoring
3238         https://bugs.webkit.org/show_bug.cgi?id=56015
3239
3240         * inspector/front-end/TextEditorHighlighter.js:
3241         (WebInspector.TextEditorHighlighter):
3242         (WebInspector.TextEditorHighlighter.prototype.set mimeType):
3243         (WebInspector.TextEditorHighlighter.prototype.highlight):
3244         (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
3245         (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
3246         (WebInspector.TextEditorHighlighter.prototype._highlightLines):
3247         (WebInspector.TextEditorHighlighter.prototype._selectHighlightState):
3248         (WebInspector.TextEditorHighlighter.prototype._clearHighlightState):
3249         * inspector/front-end/TextViewer.js:
3250         (WebInspector.TextEditorMainPanel.prototype._buildChunks):
3251         (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
3252
3253 2011-03-05  Pavel Podivilov  <podivilov@chromium.org>
3254
3255         Reviewed by Pavel Feldman.
3256
3257         Web Inspector: move breakpoint column adjustment to debugger model.
3258         https://bugs.webkit.org/show_bug.cgi?id=55821
3259
3260         Test: inspector/debugger/debug-inlined-scripts.html
3261
3262         * inspector/front-end/DebuggerModel.js:
3263         (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
3264         (WebInspector.DebuggerModel.prototype.setBreakpoint):
3265         * inspector/front-end/SourceFrameContent.js:
3266         (WebInspector.SourceFrameContent.prototype.sourceFrameLineNumberToActualLocation):
3267
3268 2011-01-21  John Knottenbelt  <jknotten@chromium.org>
3269
3270         Reviewed by Dmitry Titov.
3271
3272         Detach Geolocation from Frame when Page destroyed.
3273         https://bugs.webkit.org/show_bug.cgi?id=52877
3274
3275         On Page destruction, any outstanding Geolocation permission
3276         requests should be cancelled, because the Geolocation can only
3277         access the client indirectly via m_frame->page().
3278
3279         Page destruction is signalled by a call to the
3280         Frame::pageDestroyed() method. This explictly calls
3281         DOMWindow::resetGeolocation which ultimately calls Geolocation::reset.
3282
3283         Geolocation::reset() detaches from the GeolocationController,
3284         cancels requests, watches and single shots, and sets the
3285         permission state back to Unknown.
3286
3287         Frame::pageDestroyed() is also called by FrameLoader even though
3288         the page is not destroyed. We should still cancel permission
3289         requests, because the GeolocationClient will become inaccessible
3290         to the Geolocation object after this call.
3291
3292         Frame::transferChildFrameToNewDocument also indirectly calls
3293         Geolocation::reset when the frame is reparented between
3294         pages. Ideally we would like the Geolocation's activities to
3295         continue after reparenting, see bug
3296         https://bugs.webkit.org/show_bug.cgi?id=55577
3297
3298         Since GeolocationController is owned by Page, and all Geolocation
3299         objects will now unsubscribe from the GeolocationController on
3300         pageDetached(), we no longer need to call stopUpdating() from the
3301         GeolocationController's destructor. Instead we can simply assert
3302         that there should be no no observers. See related bug
3303         https://bugs.webkit.org/show_bug.cgi?id=52216 .
3304
3305         Introduced new method 'numberOfPendingPermissionRequests' on
3306         GeolocationClientMock to count the number of outstanding pending
3307         permission requests. This provides a reusable implementation for
3308         client-based implementations of the LayoutTestController's
3309         numberOfPendingGeolocationPermissionRequests method.
3310
3311         Test: fast/dom/Geolocation/page-reload-cancel-permission-requests.html
3312
3313         * page/DOMWindow.cpp:
3314         (WebCore::DOMWindow::resetGeolocation):
3315         * page/DOMWindow.h:
3316         * page/Frame.cpp:
3317         (WebCore::Frame::pageDestroyed):
3318         (WebCore::Frame::transferChildFrameToNewDocument):
3319         * page/Geolocation.cpp:
3320         (WebCore::Geolocation::~Geolocation):
3321         (WebCore::Geolocation::page):
3322         (WebCore::Geolocation::reset):
3323         (WebCore::Geolocation::disconnectFrame):
3324         (WebCore::Geolocation::lastPosition):
3325         (WebCore::Geolocation::requestPermission):
3326         (WebCore::Geolocation::startUpdating):
3327         (WebCore::Geolocation::stopUpdating):
3328         * page/Geolocation.h:
3329         * page/GeolocationController.cpp:
3330         (WebCore::GeolocationController::~GeolocationController):
3331         * page/Navigator.cpp:
3332         (WebCore::Navigator::resetGeolocation):
3333         * page/Navigator.h:
3334         * platform/mock/GeolocationClientMock.cpp:
3335         (WebCore::GeolocationClientMock::numberOfPendingPermissionRequests):
3336         * platform/mock/GeolocationClientMock.h:
3337
3338 2011-03-10  Ojan Vafai  <ojan@chromium.org>
3339
3340         Reviewed by Darin Adler.
3341
3342         Able to move nodes across documents
3343         https://bugs.webkit.org/show_bug.cgi?id=19524
3344
3345         Makes cross-document appendChild, insertBefore, Range.insertNode and Range.surroundContents work.
3346         This matches Gecko and the new Dom Core spec. There are a number of Range methods where we don't 
3347         match Gecko or the spec that will need to be updated in a following patch.
3348
3349         Test: fast/dom/move-nodes-across-documents.html
3350
3351         * dom/Element.cpp:
3352         (WebCore::Element::removeAttributeNode):
3353         * dom/NamedNodeMap.cpp:
3354         (WebCore::NamedNodeMap::setNamedItem):
3355         * dom/Node.cpp:
3356         (WebCore::Node::setDocumentRecursively):
3357         (WebCore::checkAcceptChild):
3358         (WebCore::Node::checkReplaceChild):
3359         * dom/Range.cpp:
3360         (WebCore::Range::insertNode):
3361         (WebCore::Range::surroundContents):
3362
3363 2011-03-09  Antti Koivisto  <antti@apple.com>
3364
3365         Not reviewed.
3366
3367         Reverting crash catching code, the bug being hunted was fixed by
3368         http://trac.webkit.org/changeset/80686
3369
3370         * loader/cache/CachedResourceLoader.cpp:
3371         (WebCore::CachedResourceLoader::CachedResourceLoader):
3372         (WebCore::CachedResourceLoader::~CachedResourceLoader):
3373         (WebCore::CachedResourceLoader::requestImage):
3374         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
3375         (WebCore::CachedResourceLoader::requestResource):
3376         (WebCore::CachedResourceLoader::setAutoLoadImages):
3377         (WebCore::CachedResourceLoader::load):
3378         (WebCore::CachedResourceLoader::loadDone):
3379         (WebCore::CachedResourceLoader::preload):
3380         (WebCore::CachedResourceLoader::requestPreload):
3381         * loader/cache/CachedResourceLoader.h:
3382
3383 2011-03-09  Peter Kasting  <pkasting@google.com>
3384
3385         Unreviewed, build fix.
3386
3387         * StringsNotToBeLocalized.txt: Add function names I forgot.
3388         * platform/win/SystemInfo.cpp: #if out some uncalled functions on WinCE,
3389           since they don't compile anyway.  Use ZeroMemory() instead of "= {0}"
3390           since Qt is stupid and (sometimes?!) warns about it.
3391         (WebCore::windowsVersion):
3392         (WebCore::processorArchitecture):
3393
3394 2011-03-09  Peter Kasting  <pkasting@google.com>
3395
3396         Reviewed by Ryosuke Niwa.
3397
3398         Add UA string tags for Windows 64.
3399         https://bugs.webkit.org/show_bug.cgi?id=55226
3400
3401         * StringsNotToBeLocalized.txt:
3402         * platform/win/SystemInfo.cpp:
3403         (WebCore::osVersionForUAString):
3404         (WebCore::isWOW64):
3405         (WebCore::processorArchitecture):
3406         (WebCore::architectureTokenForUAString):
3407         (WebCore::windowsVersionForUAString):
3408
3409 2011-03-09  Peter Kasting  <pkasting@google.com>
3410
3411         Unreviewed, attempted build fix.
3412
3413         * WebCore.pri: Try to update include path for Qt Windows build.
3414
3415 2011-03-09  Peter Kasting  <pkasting@google.com>
3416
3417         Unreviewed, build fix.
3418
3419         * platform/win/SystemInfo.cpp:
3420         (WebCore::windowsVersionForUAString): Fix const conversion warning on Qt.
3421
3422 2011-03-09  Peter Kasting  <pkasting@google.com>
3423
3424         Reviewed by Mihai Parparita.
3425
3426         Unify Windows version checks.
3427         https://bugs.webkit.org/show_bug.cgi?id=55979
3428
3429         * GNUmakefile.am: Fix spaces -> tabs.
3430         * StringsNotToBeLocalized.txt:
3431         * WebCore.pro: Add SystemInfo.* to Qt build.
3432         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
3433         (WebCore::ScrollbarThemeChromiumWin::invalidateOnMouseEnterExit):
3434         (WebCore::ScrollbarThemeChromiumWin::getThemeState):
3435         (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState):
3436         * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
3437         (WebCore::fillBMPGlyphs):
3438         * platform/win/CursorWin.cpp:
3439         (WebCore::createSharedCursor):
3440         * platform/win/ScrollbarThemeWin.cpp:
3441         (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
3442         * platform/win/SystemInfo.cpp: Add full-fledged version check and UA string helper function.
3443         (WebCore::windowsVersion):
3444         (WebCore::windowsVersionForUAString):
3445         * platform/win/SystemInfo.h: Add full-fledged version check and UA string helper function.
3446         * rendering/RenderThemeChromiumWin.cpp:
3447         (WebCore::getNonClientMetrics):
3448         * rendering/RenderThemeWin.cpp:
3449         (WebCore::RenderThemeWin::getThemeData):
3450         (WebCore::RenderThemeWin::paintMenuList):
3451         (WebCore::RenderThemeWin::paintMenuListButton):
3452
3453 2011-03-09  Mihai Parparita  <mihaip@chromium.org>
3454
3455         Reviewed by Tony Gentilcore.
3456
3457         REGRESSION (r74807): memory corruption after CachedResourceLoader refactoring
3458         https://bugs.webkit.org/show_bug.cgi?id=53045
3459         
3460         Copy the URL out of the CachedResource that is being revalidated, so
3461         that we can still use it (in m_validatedURLs) after removing the
3462         resource from the memory cache, which may delete it.
3463
3464         No new tests, since I was not able to trigger this locally (in a layout
3465        &nbs