Abstract ImageEventSender into a general purpose EventSender
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-02-22  Daniel Bates  <dbates@webkit.org>
2
3         Abstract ImageEventSender into a general purpose EventSender
4         https://bugs.webkit.org/show_bug.cgi?id=78840
5
6         Reviewed by Adam Barth.
7
8         Abstract the functionality in ImageEventSender so that it can be used again.
9         This functionality may be useful in fixing WebKit Bug #38995.
10
11         No functionality was changed; no new tests.
12
13         * GNUmakefile.list.am: Added EventSender.h.
14         * Target.pri: Ditto.
15         * WebCore.gypi: Ditto.
16         * WebCore.vcproj/WebCore.vcproj: Ditto.
17         * WebCore.xcodeproj/project.pbxproj: Ditto.
18         * dom/EventSender.h: Added.
19         (WebCore):
20         (EventSender):
21         (WebCore::EventSender::eventType):
22         (WebCore::EventSender::hasPendingEvents):
23         (WebCore::EventSender::timerFired):
24         (WebCore::::EventSender):
25         (WebCore::::dispatchEventSoon):
26         (WebCore::::cancelEvent):
27         (WebCore::::dispatchPendingEvents):
28         * loader/ImageLoader.cpp: Modified to use EventSender.
29         (WebCore):
30         (WebCore::ImageLoader::dispatchPendingEvent): Added; called by EventSender when the ImageLoader
31         should dispatch a pending BeforeLoad or Load event.
32         * loader/ImageLoader.h:
33         (WebCore):
34         (ImageLoader):
35
36 2012-02-22  Max Vujovic  <mvujovic@adobe.com>
37
38         Paddings and borders on root SVG element with viewbox causes child SVG elements to be rendered with the incorrect size
39         https://bugs.webkit.org/show_bug.cgi?id=78613
40
41         Reviewed by Nikolas Zimmermann.
42
43         When computing its localToBorderBoxTransform, RenderSVGRoot was using its width and height
44         as the dimensions of the SVG viewport. However, width and height include CSS borders and
45         paddings, which are not part of the SVG viewport area. Now, RenderSVGRoot uses its
46         contentWidth and contentHeight, which correspond to the SVG viewport area.
47
48         Tests: svg/custom/svg-root-padding-border-margin-expected.html
49                svg/custom/svg-root-padding-border-margin.html
50
51         * rendering/svg/RenderSVGRoot.cpp:
52         (WebCore::RenderSVGRoot::buildLocalToBorderBoxTransform):
53
54 2012-02-22  Raphael Kubo da Costa  <kubo@profusion.mobi>
55
56         [EFL] Get rid of GeolocationServiceEfl
57         https://bugs.webkit.org/show_bug.cgi?id=79270
58
59         Reviewed by Adam Barth.
60
61         These were just a bunch of dummy files with no real functionality, and
62         removing them helps the preparation of bug 78853, which will make
63         client-based geolocation the default.
64
65         No new tests, this functionality was not used.
66
67         * PlatformEfl.cmake:
68         * platform/efl/GeolocationServiceEfl.cpp: Removed.
69         * platform/efl/GeolocationServiceEfl.h: Removed.
70
71 2012-02-22  Julien Chaffraix  <jchaffraix@webkit.org>
72
73         Clean-up RenderTableSection::calcRowLogicalHeight
74         https://bugs.webkit.org/show_bug.cgi?id=77705
75
76         Reviewed by Eric Seidel.
77
78         Refactoring / simplication of the code.
79
80         This change removes some variables that were unneeded and were
81         hiding what the code was really doing. Also some of the code was
82         split and moved down to RenderTableCell.
83
84         * rendering/RenderTableCell.cpp:
85         (WebCore::RenderTableCell::logicalHeightForRowSizing):
86         * rendering/RenderTableCell.h:
87         (RenderTableCell):
88         Added the previous helper function to calculate the cell's
89         adjusted logical height.
90
91         * rendering/RenderTableSection.cpp:
92         (WebCore::RenderTableSection::calcRowLogicalHeight):
93         Removed some variables, simplified the rowspan logic to be clearer
94         (and added a comment about how we handle rowspans).
95
96 2012-02-22  Adam Barth  <abarth@webkit.org>
97
98         Move FILE_SYSTEM code out of DOMWindow and into the fileapi folder
99         https://bugs.webkit.org/show_bug.cgi?id=79259
100
101         Reviewed by Eric Seidel.
102
103         This patch is part of our ongoing effort to remove ifdefs from code
104         classes.  The FILE_SYSTEM code in DOMWindow doesn't really have any
105         necessary connection to DOMWindow.  DOMWindow is just the context
106         object that the API hangs off of.
107
108         This patch moves the FILE_SYSTEM code into the fileapi folder using
109         [Supplemental].
110
111         * CMakeLists.txt:
112         * DerivedSources.make:
113         * DerivedSources.pri:
114         * GNUmakefile.list.am:
115         * Target.pri:
116         * WebCore.gypi:
117         * fileapi/DOMWindowFileSystem.cpp: Added.
118         (WebCore):
119         (WebCore::DOMWindowFileSystem::DOMWindowFileSystem):
120         (WebCore::DOMWindowFileSystem::~DOMWindowFileSystem):
121         (WebCore::DOMWindowFileSystem::webkitRequestFileSystem):
122         (WebCore::DOMWindowFileSystem::webkitResolveLocalFileSystemURL):
123         * fileapi/DOMWindowFileSystem.h: Added.
124         (WebCore):
125         (DOMWindowFileSystem):
126         * fileapi/DOMWindowFileSystem.idl: Added.
127         * page/DOMWindow.cpp:
128         (WebCore):
129         * page/DOMWindow.h:
130         (WebCore):
131         (DOMWindow):
132         * page/DOMWindow.idl:
133
134 2012-02-22  Luke Macpherson   <macpherson@chromium.org>
135
136         Re-implement many more HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macros in CSSStyleApplyProperty.
137         https://bugs.webkit.org/show_bug.cgi?id=79200
138
139         Reviewed by Andreas Kling.
140
141         No new tests / refactoring only.
142
143         * css/CSSStyleApplyProperty.cpp:
144         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
145         * css/CSSStyleSelector.cpp:
146         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
147         * rendering/style/RenderStyle.h:
148
149 2012-02-22  Tom Sepez  <tsepez@chromium.org>
150
151         XSSAuditor bypass with <svg> tags and html-entities.
152         https://bugs.webkit.org/show_bug.cgi?id=78836
153
154         Reviewed by Adam Barth.
155
156         Tests: http/tests/security/xssAuditor/iframe-onload-in-svg-tag.html
157                http/tests/security/xssAuditor/script-tag-inside-svg-tag.html
158                http/tests/security/xssAuditor/script-tag-inside-svg-tag2.html
159                http/tests/security/xssAuditor/script-tag-inside-svg-tag3.html
160
161         * html/parser/XSSAuditor.cpp:
162         (WebCore::isNonCanonicalCharacter):
163         (WebCore::isTerminatingCharacter):
164         (WebCore):
165         (WebCore::startsHTMLCommentAt):
166         (WebCore::startsSingleLineCommentAt):
167         (WebCore::fullyDecodeString):
168         (WebCore::XSSAuditor::XSSAuditor):
169         (WebCore::XSSAuditor::init):
170         (WebCore::XSSAuditor::filterToken):
171         (WebCore::XSSAuditor::filterStartToken):
172         (WebCore::XSSAuditor::filterEndToken):
173         (WebCore::XSSAuditor::filterCharacterToken):
174         (WebCore::XSSAuditor::filterScriptToken):
175         (WebCore::XSSAuditor::filterObjectToken):
176         (WebCore::XSSAuditor::filterParamToken):
177         (WebCore::XSSAuditor::filterEmbedToken):
178         (WebCore::XSSAuditor::filterAppletToken):
179         (WebCore::XSSAuditor::filterIframeToken):
180         (WebCore::XSSAuditor::filterMetaToken):
181         (WebCore::XSSAuditor::filterBaseToken):
182         (WebCore::XSSAuditor::filterFormToken):
183         (WebCore::XSSAuditor::decodedSnippetForAttribute):
184         (WebCore::XSSAuditor::snippetForJavaScript):
185         * html/parser/XSSAuditor.h:
186         (XSSAuditor):
187
188 2012-02-22  Anders Carlsson  <andersca@apple.com>
189
190         Crash when marking cached pages for full style recalc
191         https://bugs.webkit.org/show_bug.cgi?id=79276
192         <rdar://problem/10884036>
193
194         Reviewed by Beth Dakin.
195
196         Guard against a null history item.
197
198         * history/BackForwardController.cpp:
199         (WebCore::BackForwardController::markPagesForFullStyleRecalc):
200
201 2012-02-22  Ken Buchanan  <kenrb@chromium.org>
202
203         Crash from empty anonymous block preceding :before content
204         https://bugs.webkit.org/show_bug.cgi?id=78250
205
206         Reviewed by David Hyatt.
207
208         RenderListMarkers getting removed from the tree in updateMarkerLocation()
209         can leave parent anonymous blocks behind with no children. This was
210         confusing updateBeforeAfterContent() because it does not expect
211         an empty block to precede :before content renderers.
212
213         Fix is to remove the anonymous block if it will lose all of its children.
214
215         * rendering/RenderListItem.cpp:
216         (WebCore::RenderListItem::updateMarkerLocation):
217
218 2012-02-22  Abhishek Arya  <inferno@chromium.org>
219
220         Crash due to accessing removed parent lineboxes when clearing view selection.
221         https://bugs.webkit.org/show_bug.cgi?id=79264
222
223         Reviewed by Eric Seidel.
224
225         When our block needed a full layout, we were deleting our own lineboxes
226         and letting descendant children (at any level in hierarchy and not just 
227         immediate children) clear their own lineboxes as we keep laying them out.
228         This was problematic because those descendant children lineboxes were
229         pointing to removed parent lineboxes in the meantime. An example scenario
230         where this would go wrong is first-letter object removal, which can cause
231         clearing view selection, leading to accessing parent lineboxes. The patch
232         modifies clearing the entire linebox tree upfront. It shouldn't introduce
233         performance issues since it will eventually happen as we are laying out
234         those children.
235  
236         Test: fast/css-generated-content/first-letter-textbox-parent-crash.html
237
238         * rendering/RenderBlockLineLayout.cpp:
239         (WebCore::RenderBlock::layoutInlineChildren):
240
241 2012-02-22  Abhishek Arya  <inferno@chromium.org>
242
243         Cloning and linebox issues in multi-column layout.
244         https://bugs.webkit.org/show_bug.cgi?id=78273
245
246         Reviewed by Eric Seidel.
247
248         Tests: fast/multicol/span/clone-flexbox.html
249                fast/multicol/span/clone-summary.html
250                fast/multicol/span/textbox-not-removed-crash.html
251
252         * rendering/RenderBlock.cpp:
253         (WebCore::RenderBlock::clone): Fix cloning algorithm to take
254         care of cloning descendant classes of RenderBlock.
255         (WebCore::RenderBlock::splitBlocks): When we move our inline children
256         to cloneBlock, we need to clear our entire line box tree. Any descendant
257         child in the hierarchy could be a part of our line box tree and will
258         never get cleared since the child has moved to new parent cloneBlock.
259
260 2012-02-22  Tim Dresser  <tdresser@chromium.org>
261
262         CCLayerTreeHostImpl calls didDraw more frequently than willDraw
263         https://bugs.webkit.org/show_bug.cgi?id=79139
264
265         Reviewed by James Robinson.
266
267         Ensure that didDraw is called if and only if willDraw was called previously.
268
269         CCLayerTreeHostImplTest.didDrawNotCalledOnHiddenLayer has been added to ensure that
270         hidden layers, for which willDraw is not called, will also not have didDraw called.
271
272         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
273         (WebCore::CCLayerTreeHostImpl::drawLayers):
274         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
275         (WebCore::CCVideoLayerImpl::didDraw):
276
277 2012-02-22  Levi Weintraub  <leviw@chromium.org>
278
279         ScrollbarThemeComposite::thumbPosition uses the result of a divide by zero
280         https://bugs.webkit.org/show_bug.cgi?id=78910
281
282         Reviewed by Eric Seidel.
283
284         Adding a check to avoid doing a floating point divide by zero and assigning NaN to an integer.
285         This causes problems with our conversion to subpixel layout, which asserts when we overflow.
286
287         * platform/ScrollbarThemeComposite.cpp:
288         (WebCore::ScrollbarThemeComposite::thumbPosition):
289
290 2012-02-22  Raymond Liu  <raymond.liu@intel.com>
291
292         Have the DynamicsCompressorNode support multi-channel data
293         https://bugs.webkit.org/show_bug.cgi?id=77856
294
295         Reviewed by Chris Rogers.
296
297         * platform/audio/DynamicsCompressor.cpp:
298         (WebCore::DynamicsCompressor::DynamicsCompressor):
299         (WebCore::DynamicsCompressor::setEmphasisStageParameters):
300         (WebCore::DynamicsCompressor::process):
301         (WebCore::DynamicsCompressor::reset):
302         (WebCore::DynamicsCompressor::setNumberOfChannels):
303         (WebCore):
304         * platform/audio/DynamicsCompressor.h:
305         (DynamicsCompressor):
306         * platform/audio/DynamicsCompressorKernel.cpp:
307         (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
308         (WebCore::DynamicsCompressorKernel::setNumberOfChannels):
309         (WebCore):
310         (WebCore::DynamicsCompressorKernel::setPreDelayTime):
311         (WebCore::DynamicsCompressorKernel::process):
312         (WebCore::DynamicsCompressorKernel::reset):
313         * platform/audio/DynamicsCompressorKernel.h:
314         (DynamicsCompressorKernel):
315         * webaudio/DynamicsCompressorNode.cpp:
316         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
317         (WebCore::DynamicsCompressorNode::initialize):
318
319 2012-02-22  Bear Travis  <betravis@adobe.com>
320
321         Not correctly recalculating layout for elements within nested SVG elements
322         https://bugs.webkit.org/show_bug.cgi?id=77535
323
324         Reviewed by Dirk Schulze.
325
326         Relatively positioned text is not correctly updating its position when the
327         size of its nearest viewport changes. Updating to mark text for layout when
328         viewPort size changes.
329         
330         Test: svg/repaint/inner-svg-change-viewPort-relative.svg
331
332         * rendering/svg/SVGRenderSupport.cpp:
333         (WebCore::SVGRenderSupport::layoutChildren):
334
335 2012-02-22  Alexei Svitkine  <asvitkine@chromium.org>
336
337         [chromium] Fix remaining compositing/rubberbanding test failures
338         https://bugs.webkit.org/show_bug.cgi?id=78008
339
340         These were happening due to the fact that ScrollView wasn't updating
341         the overhang layer when the contentsSize was updated. This is necessary
342         because calculateOverhangAreasForPainting() takes the contentsSize into
343         account when determining whether the overhang areas are visible.
344
345         Reviewed by James Robinson.
346
347         Re-enabled the following tests with updated baselines:
348         * platform/chromium/compositing/rubberbanding/transform-overhang-e-expected.png:
349         * platform/chromium/compositing/rubberbanding/transform-overhang-s-expected.png:
350         * platform/chromium/compositing/rubberbanding/transform-overhang-se-expected.png:
351         * platform/chromium/test_expectations.txt:
352
353         * platform/ScrollView.cpp:
354         (WebCore::ScrollView::setContentsSize):
355         (WebCore::ScrollView::scrollContents):
356         (WebCore::ScrollView::updateOverhangAreas):
357         (WebCore):
358         * platform/ScrollView.h:
359         (ScrollView):
360
361 2012-02-22  Vsevolod Vlasov  <vsevik@chromium.org>
362
363         Web Inspector: [Regression] network worker tests crash on qt.
364         https://bugs.webkit.org/show_bug.cgi?id=79263
365
366         Reviewed by Pavel Feldman.
367
368         * inspector/InspectorPageAgent.cpp:
369         (WebCore::InspectorPageAgent::createDecoder):
370         (WebCore::InspectorPageAgent::cachedResourceContent):
371
372 2012-02-22  Adrienne Walker  <enne@google.com>
373
374         Unreviewed, rolling out r108518.
375         http://trac.webkit.org/changeset/108518
376         https://bugs.webkit.org/show_bug.cgi?id=75864
377
378         Breaks surfaceOcclusionWithOverlappingSiblingSurfaces unit test.
379
380         * WebCore.gypi:
381         * platform/graphics/chromium/cc/CCLayerIterator.cpp:
382         (WebCore):
383         (WebCore::CCLayerIteratorActions::BackToFront::begin):
384         (WebCore::CCLayerIteratorActions::BackToFront::end):
385         (WebCore::CCLayerIteratorActions::BackToFront::next):
386         (WebCore::CCLayerIteratorActions::FrontToBack::begin):
387         (WebCore::CCLayerIteratorActions::FrontToBack::end):
388         (WebCore::CCLayerIteratorActions::FrontToBack::next):
389         (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
390         * platform/graphics/chromium/cc/CCLayerIterator.h:
391         (WebCore):
392         (WebCore::CCLayerIterator::CCLayerIterator):
393         (WebCore::CCLayerIterator::operator++):
394         (WebCore::CCLayerIterator::operator==):
395         (WebCore::CCLayerIterator::operator->):
396         (WebCore::CCLayerIterator::operator*):
397         (WebCore::CCLayerIterator::representsTargetRenderSurface):
398         (WebCore::CCLayerIterator::representsContributingRenderSurface):
399         (WebCore::CCLayerIterator::targetRenderSurfaceLayer):
400         (CCLayerIterator):
401         (BackToFront):
402         (FrontToBack):
403         * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Added.
404         (WebCore):
405         (CCLayerIteratorPositionValue):
406         (WebCore::CCLayerIteratorPosition::CCLayerIteratorPosition):
407         (CCLayerIteratorPosition):
408         (WebCore::CCLayerIteratorPosition::currentLayer):
409         (WebCore::CCLayerIteratorPosition::currentLayerRepresentsContributingRenderSurface):
410         (WebCore::CCLayerIteratorPosition::currentLayerRepresentsTargetRenderSurface):
411         (WebCore::CCLayerIteratorPosition::targetRenderSurfaceLayer):
412         (WebCore::CCLayerIteratorPosition::targetRenderSurface):
413         (WebCore::CCLayerIteratorPosition::targetRenderSurfaceChildren):
414         (WebCore::CCLayerIteratorPosition::operator==):
415
416 2012-02-22  Dan Bernstein  <mitz@apple.com>
417
418         REGRESSION (r62632): page-break-inside: avoid is ignored
419         https://bugs.webkit.org/show_bug.cgi?id=79262
420
421         Reviewed by Adele Peterson.
422
423         This was disabled in r62632 because of <http://webkit.org/b/41532>. Changes to the
424         pagination code since then have invalidated that bug, so enabling the feature again does not
425         re-introduce the bug.
426
427         Updated expected results for printing/page-break-inside-avoid.html.
428
429         * rendering/RenderBlock.cpp:
430         (WebCore::RenderBlock::adjustForUnsplittableChild):
431
432 2012-02-22  Philippe Normand  <pnormand@igalia.com>
433
434         [GStreamer] webkitwebsrc: use HTTP referer provided by MediaPlayer
435         https://bugs.webkit.org/show_bug.cgi?id=79236
436
437         Reviewed by Martin Robinson.
438
439         Store a pointer to the MediaPlayer object in the private structure
440         of the WebKitWebSrc element so we can call its public methods,
441         like ::referrer().
442
443         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
444         (WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
445         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
446         (_WebKitWebSrcPrivate):
447         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h:
448
449 2012-02-22  Martin Robinson  <mrobinson@igalia.com>
450
451         [GTK] Clean build is broken when using make -j
452         https://bugs.webkit.org/show_bug.cgi?id=76388
453
454         No new tests. This is just a build fix.
455
456         Use order-only dependencies to ensure that built sources are built before
457         files that depend on them.
458
459         * GNUmakefile.am: Establish an order-only dependency on some built sources before starting
460         to build non-generated sources. Rename some temporary files and variables to be more consistent.
461         * bindings/gobject/GNUmakefile.am: Updated to reflect new variable names.
462
463 2012-02-22  Dana Jansens  <danakj@chromium.org>
464
465         [Chromium] New CCOcclusionTracker class with tests
466         https://bugs.webkit.org/show_bug.cgi?id=78549
467
468         Reviewed by James Robinson.
469
470         Adds a CCOcclusionTrackerBase template class that is able to track occlusion
471         of layers while traversing the layer tree from front-to-back, with typedefed
472         versions for the main and impl threads.
473
474         At each step of the front-to-back traversal, the class should be notified of
475         changes to the current render target, and when done working with a layer, the
476         layer is added the tracked occlusion.
477
478         The class provides tests for checking if a rect in content space
479         for a layer/surface is occluded by others in front of it.
480
481         Unit tests: CCOcclusionTrackerTest.cpp
482
483         * WebCore.gypi:
484         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Added.
485         (WebCore):
486         (WebCore::::enterTargetRenderSurface):
487         (WebCore::::finishedTargetRenderSurface):
488         (WebCore::transformSurfaceOpaqueRegion):
489         (WebCore::::leaveToTargetRenderSurface):
490         (WebCore::contentToScreenSpaceTransform):
491         (WebCore::contentToTargetSurfaceTransform):
492         (WebCore::computeOcclusionBehindLayer):
493         (WebCore::::markOccludedBehindLayer):
494         (WebCore::testContentRectOccluded):
495         (WebCore::::occluded):
496         (WebCore::::surfaceOccluded):
497         (WebCore::rectSubtractRegion):
498         (WebCore::computeUnoccludedContentRect):
499         (WebCore::::unoccludedContentRect):
500         (WebCore::::surfaceUnoccludedContentRect):
501         (WebCore::::currentOcclusionInScreenSpace):
502         (WebCore::::currentOcclusionInTargetSurface):
503         * platform/graphics/chromium/cc/CCOcclusionTracker.h: Added.
504         (WebCore):
505         (CCOcclusionTrackerBase):
506         (WebCore::CCOcclusionTrackerBase::CCOcclusionTrackerBase):
507         (StackObject):
508
509 2012-02-22  Joshua Bell  <jsbell@chromium.org>
510
511         [Chromium] IndexedDB: Integrate with about:tracing
512         https://bugs.webkit.org/show_bug.cgi?id=78831
513
514         Annotate interesting IDB functions so they show up in the
515         tracing utility included in the Chromium port.
516
517         Reviewed by Tony Chang.
518
519         * WebCore.gypi:
520         * WebCore.xcodeproj/project.pbxproj:
521         * bindings/v8/IDBBindingUtilities.cpp:
522         (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
523         (WebCore::injectIDBKeyIntoSerializedValue):
524         * storage/IDBCursor.cpp:
525         (WebCore::IDBCursor::direction):
526         (WebCore::IDBCursor::key):
527         (WebCore::IDBCursor::primaryKey):
528         (WebCore::IDBCursor::value):
529         (WebCore::IDBCursor::update):
530         (WebCore::IDBCursor::continueFunction):
531         (WebCore::IDBCursor::deleteFunction):
532         * storage/IDBCursorBackendImpl.cpp:
533         (WebCore::IDBCursorBackendImpl::direction):
534         (WebCore::IDBCursorBackendImpl::key):
535         (WebCore::IDBCursorBackendImpl::primaryKey):
536         (WebCore::IDBCursorBackendImpl::value):
537         (WebCore::IDBCursorBackendImpl::update):
538         (WebCore::IDBCursorBackendImpl::continueFunction):
539         (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
540         (WebCore::IDBCursorBackendImpl::deleteFunction):
541         (WebCore::IDBCursorBackendImpl::prefetchContinue):
542         (WebCore::IDBCursorBackendImpl::prefetchContinueInternal):
543         (WebCore::IDBCursorBackendImpl::prefetchReset):
544         (WebCore::IDBCursorBackendImpl::close):
545         * storage/IDBDatabase.cpp:
546         (WebCore::IDBDatabase::dispatchEvent):
547         * storage/IDBIndex.cpp:
548         (WebCore::IDBIndex::openCursor):
549         (WebCore::IDBIndex::count):
550         (WebCore::IDBIndex::openKeyCursor):
551         (WebCore::IDBIndex::get):
552         (WebCore::IDBIndex::getKey):
553         * storage/IDBIndexBackendImpl.cpp:
554         (WebCore::IDBIndexBackendImpl::openCursorInternal):
555         (WebCore::IDBIndexBackendImpl::openCursor):
556         (WebCore::IDBIndexBackendImpl::openKeyCursor):
557         (WebCore::IDBIndexBackendImpl::countInternal):
558         (WebCore::IDBIndexBackendImpl::count):
559         (WebCore::IDBIndexBackendImpl::getInternal):
560         (WebCore::IDBIndexBackendImpl::get):
561         (WebCore::IDBIndexBackendImpl::getKey):
562         * storage/IDBObjectStore.cpp:
563         (WebCore::IDBObjectStore::name):
564         (WebCore::IDBObjectStore::keyPath):
565         (WebCore::IDBObjectStore::indexNames):
566         (WebCore::IDBObjectStore::transaction):
567         (WebCore::IDBObjectStore::get):
568         (WebCore::IDBObjectStore::add):
569         (WebCore::IDBObjectStore::put):
570         (WebCore::IDBObjectStore::deleteFunction):
571         (WebCore::IDBObjectStore::clear):
572         (WebCore::IDBObjectStore::createIndex):
573         (WebCore::IDBObjectStore::index):
574         (WebCore::IDBObjectStore::openCursor):
575         (WebCore::IDBObjectStore::count):
576         * storage/IDBObjectStoreBackendImpl.cpp:
577         (WebCore::IDBObjectStoreBackendImpl::get):
578         (WebCore::IDBObjectStoreBackendImpl::getInternal):
579         (WebCore::fetchKeyFromKeyPath):
580         (WebCore::injectKeyIntoKeyPath):
581         (WebCore::IDBObjectStoreBackendImpl::put):
582         (WebCore::IDBObjectStoreBackendImpl::putInternal):
583         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
584         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
585         (WebCore::IDBObjectStoreBackendImpl::clear):
586         (WebCore::IDBObjectStoreBackendImpl::openCursor):
587         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
588         (WebCore::IDBObjectStoreBackendImpl::count):
589         (WebCore::IDBObjectStoreBackendImpl::countInternal):
590         * storage/IDBRequest.cpp:
591         (WebCore::IDBRequest::onSuccess):
592         (WebCore::IDBRequest::onSuccessWithContinuation):
593         (WebCore::IDBRequest::dispatchEvent):
594         * storage/IDBTracing.h: Added.
595         * storage/IDBTransaction.cpp:
596         (WebCore::IDBTransaction::dispatchEvent):
597         * storage/IDBTransactionBackendImpl.cpp:
598         (WebCore::IDBTransactionBackendImpl::abort):
599         (WebCore::IDBTransactionBackendImpl::commit):
600         (WebCore::IDBTransactionBackendImpl::taskTimerFired):
601         (WebCore::IDBTransactionBackendImpl::taskEventTimerFired):
602
603 2012-02-22  Dana Jansens  <danakj@chromium.org>
604
605         [chromium] Push CCLayerIteratorPosition struct into CCLayerIterator class.
606         https://bugs.webkit.org/show_bug.cgi?id=75864
607
608         Reviewed by James Robinson.
609
610         * platform/graphics/chromium/cc/CCLayerIterator.cpp:
611         (WebCore::CCLayerIteratorActions::BackToFront::begin):
612         (WebCore::CCLayerIteratorActions::BackToFront::end):
613         (WebCore::CCLayerIteratorActions::BackToFront::next):
614         (WebCore::CCLayerIteratorActions::FrontToBack::begin):
615         (WebCore::CCLayerIteratorActions::FrontToBack::end):
616         (WebCore::CCLayerIteratorActions::FrontToBack::next):
617         (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
618         * platform/graphics/chromium/cc/CCLayerIterator.h:
619         (WebCore::CCLayerIterator::CCLayerIterator):
620         (WebCore::CCLayerIterator::operator++):
621         (WebCore::CCLayerIterator::operator==):
622         (WebCore::CCLayerIterator::operator->):
623         (WebCore::CCLayerIterator::operator*):
624         (WebCore::CCLayerIterator::representsTargetRenderSurface):
625         (WebCore::CCLayerIterator::representsContributingRenderSurface):
626         (WebCore::CCLayerIterator::currentLayer):
627         (WebCore::CCLayerIterator::currentLayerRepresentsContributingRenderSurface):
628         (WebCore::CCLayerIterator::currentLayerRepresentsTargetRenderSurface):
629         (WebCore::CCLayerIterator::targetRenderSurfaceLayer):
630         (WebCore::CCLayerIterator::targetRenderSurface):
631         (WebCore::CCLayerIterator::targetRenderSurfaceChildren):
632         * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Removed.
633
634 2012-02-22  Pavel Feldman  <pfeldman@google.com>
635
636         Web Inspector: console doesn't show properly arrays from which tail values have been deleted
637         https://bugs.webkit.org/show_bug.cgi?id=79242
638
639         Reviewed by Yury Semikhatsky.
640
641         * English.lproj/localizedStrings.js:
642         * inspector/front-end/ConsoleMessage.js:
643         (WebInspector.ConsoleMessageImpl.prototype._printArray.appendUndefined):
644         (WebInspector.ConsoleMessageImpl.prototype._printArray):
645
646 2012-02-22  Pavel Feldman  <pfeldman@google.com>
647
648         Web Inspector: warning external font mime (font/font/woff).
649         https://bugs.webkit.org/show_bug.cgi?id=79244
650
651         Reviewed by Yury Semikhatsky.
652
653         * inspector/front-end/Resource.js:
654
655 2012-02-22  Yury Semikhatsky  <yurys@chromium.org>
656
657         Web Inspector: use dots as markers on the counter graphs
658         https://bugs.webkit.org/show_bug.cgi?id=79243
659
660         Changed counter graphs marker and counter text styles.
661
662         Reviewed by Pavel Feldman.
663
664         * English.lproj/localizedStrings.js:
665         * inspector/front-end/MemoryStatistics.js:
666         (WebInspector.MemoryStatistics):
667         (WebInspector.MemoryStatistics.prototype._createCounterSidebarElement):
668         (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
669         (WebInspector.MemoryStatistics.prototype._draw):
670         (WebInspector.MemoryStatistics.prototype._onMouseOut):
671         (WebInspector.MemoryStatistics.prototype._onMouseOver):
672         (WebInspector.MemoryStatistics.prototype._onMouseMove):
673         (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
674         (WebInspector.MemoryStatistics.prototype._recordIndexAt):
675         (WebInspector.MemoryStatistics.prototype._highlightCurrentPositionOnGraphs):
676         (WebInspector.MemoryStatistics.prototype._clearMarkers):
677         (WebInspector.MemoryStatistics.prototype._saveImageUnderMarker):
678         (WebInspector.MemoryStatistics.prototype.refresh):
679         (WebInspector.MemoryStatistics.prototype._drawPolyline):
680         (WebInspector.MemoryStatistics.prototype._clear):
681         * inspector/front-end/timelinePanel.css:
682         (.memory-counter-sidebar-info):
683         (.memory-counter-sidebar-info .title):
684         (.memory-counter-sidebar-info .counter-value):
685
686 2012-02-22  Pavel Feldman  <pfeldman@google.com>
687
688         Web Inspector: make 'glue asynchronous events' optional.
689         https://bugs.webkit.org/show_bug.cgi?id=79240
690
691         Reviewed by Yury Semikhatsky.
692
693         * English.lproj/localizedStrings.js:
694         * inspector/front-end/Images/statusbarButtonGlyphs.png:
695         * inspector/front-end/TimelinePanel.js:
696         (WebInspector.TimelinePanel.prototype.get statusBarItems):
697         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
698         (WebInspector.TimelinePanel.prototype._glueParentButtonClicked):
699         (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
700         (WebInspector.TimelinePanel.prototype._repopulateRecords):
701         (WebInspector.TimelinePanel.prototype._findParentRecord):
702         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
703         (WebInspector.TimelinePanel.prototype.sidebarResized):
704         (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
705         (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
706         (WebInspector.TimelineRecordGraphRow):
707         (WebInspector.TimelineRecordGraphRow.prototype.update):
708         (WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats):
709         * inspector/front-end/timelinePanel.css:
710         (.glue-async-status-bar-item .glyph):
711         (.timeline-start-at-zero-status-bar-item .glyph):
712
713 2012-02-22  Vsevolod Vlasov  <vsevik@chromium.org>
714
715         Web Inspector: [REGRESSION] Console xhr logging is broken for async xhrs since r107672.
716         https://bugs.webkit.org/show_bug.cgi?id=79229
717
718         Reviewed by Pavel Feldman.
719
720         Test: http/tests/inspector/console-xhr-logging-async.html
721
722         * inspector/InspectorResourceAgent.cpp:
723         (WebCore::InspectorResourceAgent::setInitialScriptContent):
724         * xml/XMLHttpRequest.cpp:
725         (WebCore::XMLHttpRequest::didFinishLoading):
726
727 2012-02-22  Andrey Kosyakov  <caseq@chromium.org>
728
729         Web Inspector: fix memory counters and start-at-zero modes of timeline panels to co-exist nicely
730         https://bugs.webkit.org/show_bug.cgi?id=79241
731
732         Reviewed by Yury Semikhatsky.
733
734         * inspector/front-end/MemoryStatistics.js:
735         (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
736         * inspector/front-end/TimelineOverviewPane.js:
737         (WebInspector.TimelineOverviewPane):
738         (WebInspector.TimelineOverviewPane.prototype._showTimelines):
739         (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
740         (WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
741         (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
742         * inspector/front-end/TimelinePanel.js:
743         (WebInspector.TimelinePanel.prototype._timelinesOverviewModeChanged):
744
745 2012-02-22  Andrey Kosyakov  <caseq@chromium.org>
746
747         Web Inspector: [experimental] add a mode to display timeline events aligned by the start time
748         https://bugs.webkit.org/show_bug.cgi?id=79123
749
750         Reviewed by Pavel Feldman.
751
752         * inspector/front-end/Images/statusbarButtonGlyphs.png:
753         * inspector/front-end/Settings.js:
754         (WebInspector.ExperimentsSettings):
755         * inspector/front-end/TimelineOverviewPane.js:
756         (WebInspector.TimelineOverviewPane):
757         (WebInspector.TimelineOverviewPane.prototype._showTimelines):
758         (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
759         (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
760         (WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
761         (WebInspector.TimelineOverviewPane.prototype.update):
762         (WebInspector.TimelineOverviewPane.prototype.reset):
763         (WebInspector.TimelineOverviewWindow):
764         (WebInspector.TimelineOverviewWindow.prototype.reset):
765         (WebInspector.TimelineOverviewWindow.prototype._setWindowPosition):
766         (WebInspector.TimelineOverviewWindow.prototype.scrollWindow):
767         (WebInspector.TimelineStartAtZeroOverview):
768         (WebInspector.TimelineStartAtZeroOverview.prototype.reset):
769         (WebInspector.TimelineStartAtZeroOverview.prototype.update):
770         (WebInspector.TimelineStartAtZeroOverview.prototype._filterRecords):
771         (WebInspector.TimelineStartAtZeroOverview.prototype._buildBar):
772         (WebInspector.TimelineStartAtZeroOverview.prototype._onWindowChanged):
773         * inspector/front-end/TimelinePanel.js:
774         (WebInspector.TimelinePanel.prototype.get statusBarItems):
775         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
776         (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
777         (WebInspector.TimelinePanel.prototype.get _startAtZero):
778         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
779         (WebInspector.TimelinePanel.prototype.sidebarResized):
780         (WebInspector.TimelinePanel.prototype._onRecordsCleared):
781         (WebInspector.TimelinePanel.prototype._resetPanel):
782         (WebInspector.TimelinePanel.prototype._scheduleRefresh):
783         (WebInspector.TimelinePanel.prototype._refresh):
784         (WebInspector.TimelinePanel.prototype._filterRecords):
785         (WebInspector.TimelinePanel.prototype._refreshRecords):
786         (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
787         (WebInspector.TimelineStartAtZeroCalculator):
788         (WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphPercentages):
789         (WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphWindowPosition):
790         (WebInspector.TimelineStartAtZeroCalculator.prototype.calculateWindow):
791         (WebInspector.TimelineStartAtZeroCalculator.prototype.reset):
792         (WebInspector.TimelineStartAtZeroCalculator.prototype.updateBoundaries):
793         (WebInspector.TimelineStartAtZeroCalculator.prototype.formatValue):
794         (WebInspector.TimelinePanel.FormattedRecord):
795         (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
796         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
797         (WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats):
798         (WebInspector.TimelinePanel.FormattedRecord.prototype.get aggregatedStats):
799         (WebInspector.TimelineModel.prototype.get records):
800         (WebInspector.TimelinePresentationModel):
801         (WebInspector.TimelinePresentationModel.prototype.reset):
802         (WebInspector.TimelinePresentationModel.prototype.setWindowIndices):
803         (WebInspector.TimelineRecordFilter):
804         (WebInspector.TimelineRecordFilter.prototype.accept):
805         (WebInspector.TimelineStartAtZeroRecordFilter):
806         (WebInspector.TimelineStartAtZeroRecordFilter.prototype.accept):
807         * inspector/front-end/timelinePanel.css:
808         (.timeline-start-at-zero #timeline-overview-sidebar):
809         (.timeline-start-at-zero #timeline-overview-grid):
810         (.timeline-overview-window):
811         (.timeline-start-at-zero .timeline-overview-window):
812         (.timeline-start-at-zero .timeline-overview-dividers-background):
813         (.timeline-overview-window-rulers):
814         (.timeline-start-at-zero #timeline-overview-memory):
815         (.popover .timeline-loading):
816         (.popover .timeline-scripting):
817         (.popover .timeline-rendering):
818         (.timeline-start-at-zero-status-bar-item .glyph):
819         (.timeline-start-at-zero-status-bar-item.toggled-on .glyph):
820         (.timeline-overview-start-at-zero):
821         (.timeline-overview-start-at-zero-bars):
822         (.timeline-overview-start-at-zero-bars .padding):
823         (.timeline-overview-start-at-zero-bars .timeline-bar-vertical):
824         (.timeline-bar-vertical div:first-child):
825         (.timeline-bar-vertical .timeline-loading):
826         (.timeline-bar-vertical .timeline-scripting):
827         (.timeline-bar-vertical .timeline-rendering):
828
829 2012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
830
831         [Qt] Disregard previous backing store as soon as possible
832         https://bugs.webkit.org/show_bug.cgi?id=79232
833
834         Reviewed by Simon Hausmann and No'am Rosenthal.
835
836         Make it possible to drop non-visible tiles and to test
837         if the current visible rect is fully covered.
838
839         * platform/graphics/TiledBackingStore.cpp:
840         (WebCore::TiledBackingStore::visibleContentsRect):
841         (WebCore::TiledBackingStore::coverageRatio):
842         (WebCore::TiledBackingStore::visibleAreaIsCovered):
843         (WebCore):
844         (WebCore::TiledBackingStore::createTiles):
845         (WebCore::TiledBackingStore::removeAllNonVisibleTiles):
846         * platform/graphics/TiledBackingStore.h:
847         (TiledBackingStore):
848
849 2012-02-22  Simon Hausmann  <simon.hausmann@nokia.com>
850
851         [Qt] Move QMenu dependant scrollbar context menu handling out of WebCore
852         https://bugs.webkit.org/show_bug.cgi?id=79233
853
854         Reviewed by Kenneth Rohde Christiansen.
855
856         Move the code into WebKit/qt/Api/qwebpage.cpp, the only place where it is called from.
857
858         * Target.pri: Remove ScrollbarQt.cpp from build.
859         * platform/Scrollbar.h: Remove Qt-only context menu handling but make moveThum
860         accessible from the outside.
861         * platform/qt/ScrollbarQt.cpp: Removed. Not needed anymore.
862
863 2012-02-22  Vsevolod Vlasov  <vsevik@chromium.org>
864
865         Web Inspector: retrieving content for some XHR requests crashes inspected page renderer
866         https://bugs.webkit.org/show_bug.cgi?id=79026
867
868         Reviewed by Pavel Feldman.
869
870         Fixed loading empty xhr content and xhr content decoding that was
871         broken in r107672.
872
873         Tests: http/tests/inspector/network/network-cyrillic-xhr.html
874                http/tests/inspector/network/network-empty-xhr.html
875
876         * inspector/InspectorPageAgent.cpp:
877         (WebCore):
878         (WebCore::InspectorPageAgent::createDecoder):
879         (WebCore::InspectorPageAgent::cachedResourceContent):
880         * inspector/InspectorPageAgent.h:
881         (WebCore):
882         * inspector/NetworkResourcesData.cpp:
883         (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
884         (WebCore::NetworkResourcesData::responseReceived):
885         * inspector/NetworkResourcesData.h:
886         (WebCore::NetworkResourcesData::ResourceData::decoder):
887         (WebCore::NetworkResourcesData::ResourceData::setDecoder):
888
889 2012-02-22  Peter Rybin  <peter.rybin@gmail.com>
890
891         Web Inspector: CodeGeneratorInspector.py: remove neural-net-style constructions
892         https://bugs.webkit.org/show_bug.cgi?id=79153
893
894         Reviewed by Yury Semikhatsky.
895
896         CParamType class removed completely, some ("virtual") methods are
897         removed. TypeModel notion is added instead with some minor helper
898         classes and methods.
899
900         * inspector/CodeGeneratorInspector.py:
901         (DomainNameFixes):
902         (RawTypes.BaseType):
903         (RawTypes.String):
904         (RawTypes.String.get_raw_type_model):
905         (RawTypes.Int):
906         (RawTypes.Int.get_raw_type_model):
907         (RawTypes.Number):
908         (RawTypes.Number.get_raw_type_model):
909         (RawTypes.Bool):
910         (RawTypes.Bool.get_raw_type_model):
911         (RawTypes.Object):
912         (RawTypes.Object.get_raw_type_model):
913         (RawTypes.Any):
914         (RawTypes.Any.get_raw_type_model):
915         (RawTypes.Array):
916         (RawTypes.Array.get_raw_type_model):
917         (replace_right_shift):
918         (CommandReturnPassModel):
919         (CommandReturnPassModel.ByReference):
920         (CommandReturnPassModel.ByReference.__init__):
921         (CommandReturnPassModel.ByReference.get_return_var_type):
922         (CommandReturnPassModel.get_output_argument_prefix):
923         (CommandReturnPassModel.get_output_to_raw_expression):
924         (CommandReturnPassModel.get_output_parameter_type):
925         (CommandReturnPassModel.get_set_return_condition):
926         (CommandReturnPassModel.ByPointer):
927         (CommandReturnPassModel.ByPointer.__init__):
928         (CommandReturnPassModel.ByPointer.get_return_var_type):
929         (TypeModel):
930         (TypeModel.RefPtrBased):
931         (TypeModel.RefPtrBased.__init__):
932         (TypeModel.RefPtrBased.get_optional):
933         (TypeModel.RefPtrBased.get_command_return_pass_model):
934         (TypeModel.RefPtrBased.get_input_param_type_text):
935         (TypeModel.RefPtrBased.get_event_setter_expression_pattern):
936         (TypeModel.Enum):
937         (TypeModel.Enum.__init__):
938         (TypeModel.Enum.get_optional):
939         (TypeModel.Enum.get_optional.EnumOptional):
940         (TypeModel.Enum.get_optional.EnumOptional.get_optional):
941         (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
942         (TypeModel.Enum.get_input_param_type_text):
943         (TypeModel.Enum.get_event_setter_expression_pattern):
944         (TypeModel.Enum.get_command_return_pass_model):
945         (TypeModel.ValueType):
946         (TypeModel.ValueType.__init__):
947         (TypeModel.ValueType.get_optional):
948         (TypeModel.ValueType.get_command_return_pass_model):
949         (TypeModel.ValueType.get_input_param_type_text):
950         (TypeModel.ValueType.get_event_setter_expression_pattern):
951         (TypeModel.ValueType.ValueOptional):
952         (TypeModel.ValueType.ValueOptional.__init__):
953         (TypeModel.ValueType.ValueOptional.get_optional):
954         (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
955         (TypeModel.ValueType.ValueOptional.get_input_param_type_text):
956         (TypeModel.ValueType.ValueOptional.get_event_setter_expression_pattern):
957         (TypeModel.init_class):
958         (TypeBindings.create_ad_hoc_type_declaration.Helper):
959         (TypeBindings.create_type_declaration_.EnumBinding.get_array_item_c_type_text):
960         (TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
961         (TypeBindings.create_type_declaration_.EnumBinding):
962         (TypeBindings.create_type_declaration_.EnumBinding.get_type_model):
963         (TypeBindings.create_type_declaration_):
964         (TypeBindings.create_type_declaration_.get_type_model):
965         (TypeBindings.create_type_declaration_.get_array_item_c_type_text):
966         (get_type_model):
967         (AdHocTypeContextImpl.__init__):
968         (PlainObjectBinding):
969         (PlainObjectBinding.get_type_model):
970         (AdHocTypeContext):
971         (ArrayBinding.get_array_item_c_type_text):
972         (ArrayBinding):
973         (ArrayBinding.get_type_model):
974         (RawTypeBinding.get_validator_call_text):
975         (RawTypeBinding.reduce_to_raw_type):
976         (RawTypeBinding):
977         (RawTypeBinding.get_type_model):
978         (MethodGenerateModes.StrictParameterMode.get_c_param_type_text):
979         (MethodGenerateModes.RawParameterMode.get_c_param_type_text):
980         (MethodGenerateModes.CombinedMode.get_c_param_type_text):
981         (Generator.go):
982         (Generator.process_event):
983         (Generator.process_command):
984         (Generator.resolve_type_and_generate_ad_hoc):
985         (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext):
986         * inspector/InspectorDebuggerAgent.cpp:
987         (WebCore::InspectorDebuggerAgent::didParseSource):
988
989 2012-02-21  Vsevolod Vlasov  <vsevik@chromium.org>
990
991         Web Inspector: [InspectorIndexedDB] Show IndexedDB views on selection IndexedDB elements in resources panel.
992         https://bugs.webkit.org/show_bug.cgi?id=79098
993
994         Reviewed by Pavel Feldman.
995
996         * English.lproj/localizedStrings.js:
997         * WebCore.gypi:
998         * WebCore.vcproj/WebCore.vcproj:
999         * inspector/InspectorIndexedDBAgent.cpp:
1000         (WebCore):
1001         * inspector/compile-front-end.sh:
1002         * inspector/front-end/IndexedDBModel.js:
1003         (WebInspector.IndexedDBModel.prototype._assertFrameId):
1004         (WebInspector.IndexedDBModel.prototype.loadObjectStoreData):
1005         (WebInspector.IndexedDBModel.prototype.loadIndexData):
1006         * inspector/front-end/IndexedDBViews.js: Added.
1007         * inspector/front-end/ObjectPropertiesSection.js:
1008         (WebInspector.ObjectPropertiesSection):
1009         (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
1010         * inspector/front-end/ResourcesPanel.js:
1011         (WebInspector.ResourcesPanel.prototype.showIndexedDB):
1012         (WebInspector.IndexedDBTreeElement.prototype.refreshIndexedDB):
1013         (WebInspector.IndexedDBTreeElement.prototype._indexedDBAdded):
1014         (WebInspector.IDBDatabaseTreeElement):
1015         (WebInspector.IDBDatabaseTreeElement.prototype.get itemURL):
1016         (WebInspector.IDBDatabaseTreeElement.prototype.update):
1017         (WebInspector.IDBDatabaseTreeElement.prototype.onselect):
1018         (WebInspector.IDBObjectStoreTreeElement):
1019         (WebInspector.IDBObjectStoreTreeElement.prototype.get itemURL):
1020         (WebInspector.IDBObjectStoreTreeElement.prototype.update):
1021         (WebInspector.IDBObjectStoreTreeElement.prototype.onselect):
1022         (WebInspector.IDBIndexTreeElement):
1023         (WebInspector.IDBIndexTreeElement.prototype.get itemURL):
1024         (WebInspector.IDBIndexTreeElement.prototype.update):
1025         (WebInspector.IDBIndexTreeElement.prototype.onselect):
1026         * inspector/front-end/WebKit.qrc:
1027         * inspector/front-end/externs.js:
1028         * inspector/front-end/indexedDBViews.css: Added.
1029         * inspector/front-end/inspector.html:
1030
1031 2012-02-22  Nikolas Zimmermann  <nzimmermann@rim.com>
1032
1033         REGRESSION(58212): html foreignObjects with positions other than static not hidden correctly when parent has display:none
1034         https://bugs.webkit.org/show_bug.cgi?id=41386
1035
1036         Reviewed by Zoltan Herczeg.
1037
1038         r58212 gave SVGGElements a renderer, regardless if "display: none" was set or not, for various reasons (see change set).
1039         The <g> renderer for such cases is a RenderSVGHiddenContainer. We make sure in SVG that such subtrees are never used
1040         for painting & hittesting - they only exist for the purpose of SVG DOM (query getCTM, etc..) and to create renderers
1041         for child resources, like <g display="none"><linearGradient>.
1042
1043         This concept still works fine for: <g display="none"><foreignObject><body>Foobar</body></foreignObject></g>, as
1044         RenderSVGForeignObject::paint is never called thus we never paint the subtree of the <fO>. If the <body> elements
1045         contains "position: relative" a new layer is created for the <body>. When the document paints we have two seperated
1046         layers, and the <body> layer doesn't know that it's actually inside a "SVG hidden subtree", and gets painted, where it
1047         shouldn't. HTML doesn't have this problems, as a display: none object, never creates a renderer.
1048
1049         The fix is to disallow layer creation in hidden SVG subtrees, to mimic what would happen if we'd follow HTML rules
1050         to not create renderers for display: none objects. This avoids any indirections - as no layers are created anymore.
1051
1052         Tests: svg/foreignObject/fO-display-none-with-relative-pos-content.svg
1053                svg/foreignObject/fO-display-none.svg
1054                svg/foreignObject/fO-parent-display-changes.svg
1055                svg/foreignObject/fO-parent-display-none-with-relative-pos-content.svg
1056                svg/foreignObject/fO-parent-display-none.svg
1057                svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content.svg
1058                svg/foreignObject/fO-parent-of-parent-display-none.svg
1059
1060         * rendering/RenderBoxModelObject.cpp:
1061         (WebCore::RenderBoxModelObject::styleDidChange): Only create layers, if its allowed -- layerCreationAllowedForSubtree() will always return true for HTML, and only false for layers inside a hidden SVG subtree.
1062         * rendering/RenderObject.cpp:
1063         (WebCore::RenderObject::addChild): Only create layers, if its allowed.
1064         * rendering/RenderObject.h: Add inline layerCreationAllowedForSubtree() helper, that craws the tree to find a RenderSVGHiddenContainer ancestor, if not present, return true.
1065
1066 2012-02-22  Zoltan Herczeg  <zherczeg@webkit.org>
1067
1068         Drop clipToImageBuffer from RenderBoxModelObject
1069         https://bugs.webkit.org/show_bug.cgi?id=79225
1070
1071         Reviewed by Nikolas Zimmermann.
1072
1073         -webkit-background-clip: text is a rarely used non-standard
1074         feature uses clipToImageBuffer. It is replaced by
1075         CompositeDestinationIn on a transparent layer. The new
1076         approach has the same speed as the old one.
1077
1078         Existing tests cover this issue.
1079
1080         * rendering/RenderBoxModelObject.cpp:
1081         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1082
1083 2012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1084
1085         Merge setVisibleRectTrajectoryVector and adjustVisibleRect to
1086         the more descriptive coverWithTilesIfNeeded
1087         https://bugs.webkit.org/show_bug.cgi?id=79230
1088
1089         Reviewed by Simon Hausmann.
1090
1091         Both setVisibleRectTrajectoryVector and the adjustVisibleRect are
1092         used for initiating re-tiling, so make that more obvious and merge
1093         the two.
1094
1095         * platform/graphics/TiledBackingStore.cpp:
1096         (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
1097         * platform/graphics/TiledBackingStore.h:
1098         (TiledBackingStore):
1099
1100 2012-02-17  Nikolas Zimmermann  <nzimmermann@rim.com>
1101
1102         REGRESSION: unbalanced transparency layers for clipPath
1103         https://bugs.webkit.org/show_bug.cgi?id=78074
1104
1105         Reviewed by Zoltan Herczeg.
1106
1107         If we're rendering to a mask image buffer, all children are rendered with opacity=1, regardless what their RenderStyles specify.
1108         SVGRenderSupport::finishRenderSVGContent() did not take this into account and always called endTransparencyLayer(). Fix that
1109         by checking if we're rendering to a mask image buffer, if so don't call endTransparencyLayer().
1110
1111         Add new reftest covering both the visual & logical correctness (no assertion).
1112
1113         Tests: svg/clip-path/opacity-assertion-expected.svg
1114                svg/clip-path/opacity-assertion.svg
1115
1116         * rendering/svg/SVGRenderSupport.cpp:
1117         (WebCore::isRenderingMaskImage): Extraced as sharable helper function.
1118         (WebCore::SVGRenderSupport::prepareToRenderSVGContent): Factor out isRenderingMaskImage() function.
1119         (WebCore::SVGRenderSupport::finishRenderSVGContent): Only call endTransparencyLayer(), if we actually called beginTL() first. 
1120
1121 2012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1122
1123         Improve comments in tiling code.
1124
1125         Rubberstamped by Simon Hausmann.
1126
1127         * platform/graphics/TiledBackingStore.cpp:
1128         (WebCore::TiledBackingStore::createTiles):
1129
1130 2012-02-22  'Pavel Feldman'  <pfeldman@google.com>
1131
1132         Not reviewed: build fix.
1133
1134         * inspector/InspectorController.cpp:
1135         * inspector/InspectorController.h:
1136         (InspectorController):
1137
1138 2012-02-21  Pavel Feldman  <pfeldman@google.com>
1139
1140         Web Inspector: do not filter out requestAnimationFrame from timeline, implement stop on animation events.
1141         https://bugs.webkit.org/show_bug.cgi?id=79116
1142
1143         Reviewed by Yury Semikhatsky.
1144
1145         * English.lproj/localizedStrings.js:
1146         * dom/ScriptedAnimationController.cpp:
1147         (WebCore::ScriptedAnimationController::registerCallback):
1148         * inspector/InspectorInstrumentation.cpp:
1149         (WebCore):
1150         (WebCore::InspectorInstrumentation::didRequestAnimationFrameCallbackImpl):
1151         (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallbackImpl):
1152         (WebCore::InspectorInstrumentation::willFireAnimationFrameEventImpl):
1153         * inspector/InspectorInstrumentation.h:
1154         (InspectorInstrumentation):
1155         (WebCore::InspectorInstrumentation::didRequestAnimationFrameCallback):
1156         * inspector/InspectorTimelineAgent.cpp:
1157         (TimelineRecordType):
1158         (WebCore::InspectorTimelineAgent::didRequestAnimationFrameCallback):
1159         (WebCore::InspectorTimelineAgent::didCancelAnimationFrameCallback):
1160         (WebCore::InspectorTimelineAgent::willFireAnimationFrameEvent):
1161         (WebCore::InspectorTimelineAgent::didFireAnimationFrameEvent):
1162         * inspector/InspectorTimelineAgent.h:
1163         (InspectorTimelineAgent):
1164         * inspector/front-end/BreakpointsSidebarPane.js:
1165         (WebInspector.EventListenerBreakpointsSidebarPane):
1166         (WebInspector.EventListenerBreakpointsSidebarPane.eventNameForUI):
1167         * inspector/front-end/TimelineAgent.js:
1168         * inspector/front-end/TimelinePanel.js:
1169         (WebInspector.TimelinePanel):
1170         (WebInspector.TimelinePanel.prototype.get _recordStyles):
1171         (WebInspector.TimelinePanel.prototype._findParentRecord):
1172         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
1173         (WebInspector.TimelinePanel.prototype._onRecordsCleared):
1174         (WebInspector.TimelinePanel.FormattedRecord):
1175         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
1176         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
1177
1178 2012-02-22  Changhun Kang  <temoochin@company100.net>
1179
1180         Remove unused class declaration in WebCore/page/scrolling/ScrollingCoordinator.h
1181         https://bugs.webkit.org/show_bug.cgi?id=79175
1182
1183         Reviewed by Kentaro Hara.
1184
1185         * page/scrolling/ScrollingCoordinator.h:
1186         Remove PlatformGestureEvent class declaration.
1187         (WebCore):
1188
1189 2012-02-22  Andras Becsi  <andras.becsi@nokia.com>
1190
1191         [Qt][WK2] Fix the N9 build
1192         https://bugs.webkit.org/show_bug.cgi?id=79101
1193
1194         Reviewed by Simon Hausmann.
1195
1196         Fixed the include order of the rolled out r108359 not to break
1197         the build with CONFIG+=force_static_libs_as_shared.
1198
1199         * platform/graphics/OpenGLShims.h: Add missing include.
1200
1201 2012-02-22  Shinya Kawanaka  <shinyak@chromium.org>
1202
1203         firstRendererOf() should also return a fallback element renderer in NodeRenderingContext.
1204         https://bugs.webkit.org/show_bug.cgi?id=79180
1205
1206         Reviewed by Hajime Morita.
1207
1208         Currently we have handled AttachingFallback in some special mannger, however if firstRendererOf
1209         and lastRendererOf return a fallback element renderer, we don't need to handle it in such a manner.
1210
1211         We have introduced new attaching phase: AttachingFallbacked, and AttachingNotFallbacked.
1212         They are used for fallback elements.
1213
1214         Added new test cases in:
1215           fast/dom/shadow/shadow-contents-fallback.html
1216           fast/dom/shadow/shadow-contents-fallback-dynamic.html
1217
1218         * dom/NodeRenderingContext.cpp:
1219         (WebCore::NodeRenderingContext::NodeRenderingContext):
1220         (WebCore::firstRendererOf):
1221         (WebCore::lastRendererOf):
1222         (WebCore::NodeRenderingContext::nextRenderer):
1223         (WebCore::NodeRenderingContext::previousRenderer):
1224         (WebCore::NodeRenderingContext::shouldCreateRenderer):
1225         * dom/NodeRenderingContext.h:
1226         * html/shadow/InsertionPoint.h:
1227         (WebCore::isInsertionPoint):
1228         (WebCore):
1229         (WebCore::toInsertionPoint):
1230
1231 2012-02-22  Csaba Osztrogonác  <ossy@webkit.org>
1232
1233         [Qt] Unreviewed gardening after r108464.
1234
1235         * Target.pri:
1236
1237 2012-02-22  Sheriff Bot  <webkit.review.bot@gmail.com>
1238
1239         Unreviewed, rolling out r108468.
1240         http://trac.webkit.org/changeset/108468
1241         https://bugs.webkit.org/show_bug.cgi?id=79219
1242
1243         Broke Chromium Win release build (Requested by bashi on
1244         #webkit).
1245
1246         * CMakeLists.txt:
1247         * GNUmakefile.list.am:
1248         * Target.pri:
1249         * WebCore.gypi:
1250         * WebCore.vcproj/WebCore.vcproj:
1251         * WebCore.xcodeproj/project.pbxproj:
1252         * websockets/WebSocket.cpp:
1253         (WebCore::WebSocket::didConnect):
1254         * websockets/WebSocketChannel.cpp:
1255         (WebCore::WebSocketChannel::connect):
1256         (WebCore::WebSocketChannel::fail):
1257         (WebCore::WebSocketChannel::processFrame):
1258         (WebCore::WebSocketChannel::sendFrame):
1259         * websockets/WebSocketChannel.h:
1260         * websockets/WebSocketDeflateFramer.cpp: Removed.
1261         * websockets/WebSocketDeflateFramer.h: Removed.
1262
1263 2012-02-20  Roland Steiner  <rolandsteiner@chromium.org>
1264
1265         <style scoped>: Add runtime-flag
1266         https://bugs.webkit.org/show_bug.cgi?id=79074
1267
1268         Added runtime-flag.
1269         Query runtime flag when (un)registering a <style scoped> element, and when determineing a style sheet's scope.
1270
1271         Reviewed by Dimitri Glazkov.
1272
1273         No new tests. (no change in functionality)
1274
1275         * bindings/generic/RuntimeEnabledFeatures.cpp:
1276         (WebCore):
1277         * bindings/generic/RuntimeEnabledFeatures.h:
1278         (RuntimeEnabledFeatures):
1279         (WebCore::RuntimeEnabledFeatures::styleScopedEnabled):
1280         (WebCore::RuntimeEnabledFeatures::setStyleScopedEnabled):
1281         * css/CSSStyleSelector.cpp:
1282         (WebCore::CSSStyleSelector::determineScopingElement):
1283         * html/HTMLStyleElement.cpp:
1284         (WebCore::HTMLStyleElement::registerWithScopingNode):
1285         (WebCore::HTMLStyleElement::unregisterWithScopingNode):
1286         * html/HTMLStyleElement.idl:
1287
1288 2012-02-21  Alexander Pavlov  <apavlov@chromium.org>
1289
1290         Web Inspector: Audit rules to recommend unprefixing supported CSS properties
1291         https://bugs.webkit.org/show_bug.cgi?id=78985
1292
1293         Reviewed by Pavel Feldman.
1294
1295         * inspector/front-end/AuditCategories.js:
1296         (WebInspector.AuditCategories.PagePerformance.prototype.initialize):
1297         * inspector/front-end/AuditRules.js:
1298         (WebInspector.AuditRules.CSSRuleBase):
1299         (WebInspector.AuditRules.CSSRuleBase.prototype.doRun.sheetsCallback):
1300         (WebInspector.AuditRules.CSSRuleBase.prototype.doRun):
1301         (WebInspector.AuditRules.CSSRuleBase.prototype._visitStyleSheet.sheetCallback):
1302         (WebInspector.AuditRules.CSSRuleBase.prototype._visitStyleSheet):
1303         (WebInspector.AuditRules.CSSRuleBase.prototype._visitRule):
1304         (WebInspector.AuditRules.CSSRuleBase.prototype.visitStyleSheet):
1305         (WebInspector.AuditRules.CSSRuleBase.prototype.didVisitStyleSheet):
1306         (WebInspector.AuditRules.CSSRuleBase.prototype.visitRule):
1307         (WebInspector.AuditRules.CSSRuleBase.prototype.didVisitRule):
1308         (WebInspector.AuditRules.CSSRuleBase.prototype.visitProperty):
1309         (WebInspector.AuditRules.VendorPrefixedCSSProperties):
1310         (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.didVisitStyleSheet):
1311         (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitRule):
1312         (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.didVisitRule):
1313         (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitProperty):
1314         * inspector/front-end/ResourceUtils.js:
1315
1316 2012-02-22  Shinya Kawanaka  <shinyak@chromium.org>
1317
1318         Node::attach() should be after attaching children in Element::attach().
1319         https://bugs.webkit.org/show_bug.cgi?id=79201
1320
1321         Reviewed by Hajime Morita.
1322
1323         In Element::attach(), Node::attach() is called before attaching children if a shaodw root exists.
1324         This may cause O(N^2) problem in NodeRenderingContext.
1325
1326         No new tests. Existing tests should cover this.
1327
1328         * dom/Element.cpp:
1329         (WebCore::Element::attach):
1330
1331 2012-02-22  Kenichi Ishibashi  <bashi@chromium.org>
1332
1333         Adding WebSocket per-frame DEFLATE extension
1334         https://bugs.webkit.org/show_bug.cgi?id=77522
1335
1336         Add WebSocketDeflateFramer class which handles deflate-frame extension.
1337         This class encapsulates WebSocketDeflater and WebSocketInflater classes,
1338         which depend on zlib, so that WebSocketChannel is not necessary to aware
1339         zlib dependency.
1340
1341         Reviewed by Kent Tamura.
1342
1343         Tests: http/tests/websocket/tests/hybi/compressed-control-frame.html
1344                http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html
1345                http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html
1346                http/tests/websocket/tests/hybi/deflate-frame-parameter.html
1347
1348         * CMakeLists.txt: Added WebSocketDeflateFramer.(cpp|h)
1349         * GNUmakefile.list.am: Ditto.
1350         * Target.pri: Ditto.
1351         * WebCore.gypi: Ditto.
1352         * WebCore.vcproj/WebCore.vcproj: Ditto.
1353         * WebCore.xcodeproj/project.pbxproj: Ditto.
1354         * websockets/WebSocket.cpp:
1355         (WebCore::WebSocket::didConnect): Set m_extensions.
1356         * websockets/WebSocketChannel.cpp:
1357         (WebCore::WebSocketChannel::connect): Add deflate-frame extension processor to WebSocketHanshake if deflate can use.
1358         (WebCore::WebSocketChannel::fail): Call m_deflateFramer.didFail().
1359         (WebCore::WebSocketChannel::processFrame): Decompress frames if needed.
1360         (WebCore::WebSocketChannel::sendFrame): Compress frames if possible.
1361         * websockets/WebSocketChannel.h:
1362         * websockets/WebSocketDeflateFramer.cpp: Added.
1363         (WebCore):
1364         (WebSocketExtensionDeflateFrame):
1365         (WebCore::WebSocketExtensionDeflateFrame::create):
1366         (WebCore::WebSocketExtensionDeflateFrame::~WebSocketExtensionDeflateFrame):
1367         (WebCore::WebSocketExtensionDeflateFrame::WebSocketExtensionDeflateFrame):
1368         (WebCore::WebSocketExtensionDeflateFrame::handshakeString):
1369         (WebCore::WebSocketExtensionDeflateFrame::processResponse):
1370         (WebCore::DeflateResultHolder::DeflateResultHolder):
1371         (WebCore::DeflateResultHolder::~DeflateResultHolder):
1372         (WebCore::DeflateResultHolder::fail):
1373         (WebCore::InflateResultHolder::InflateResultHolder):
1374         (WebCore::InflateResultHolder::~InflateResultHolder):
1375         (WebCore::InflateResultHolder::fail):
1376         (WebCore::WebSocketDeflateFramer::WebSocketDeflateFramer):
1377         (WebCore::WebSocketDeflateFramer::createExtensionProcessor):
1378         (WebCore::WebSocketDeflateFramer::canDeflate):
1379         (WebCore::WebSocketDeflateFramer::enableDeflate):
1380         (WebCore::WebSocketDeflateFramer::deflate):
1381         (WebCore::WebSocketDeflateFramer::resetDeflateContext):
1382         (WebCore::WebSocketDeflateFramer::inflate):
1383         (WebCore::WebSocketDeflateFramer::resetInflateContext):
1384         (WebCore::WebSocketDeflateFramer::didFail):
1385         * websockets/WebSocketDeflateFramer.h: Added.
1386         (WebCore):
1387         (DeflateResultHolder):
1388         (WebCore::DeflateResultHolder::succeeded):
1389         (WebCore::DeflateResultHolder::failureReason):
1390         (InflateResultHolder):
1391         (WebCore::InflateResultHolder::succeeded):
1392         (WebCore::InflateResultHolder::failureReason):
1393         (WebSocketDeflateFramer):
1394         (WebCore::WebSocketDeflateFramer::enabled):
1395
1396 2012-02-22  Yuta Kitamura  <yutak@chromium.org>
1397
1398         Unreviewed, rolling out r108453.
1399         http://trac.webkit.org/changeset/108453
1400         https://bugs.webkit.org/show_bug.cgi?id=78549
1401
1402         Broke Chromium's webkit_unit_tests.
1403
1404         * WebCore.gypi:
1405         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Removed.
1406         * platform/graphics/chromium/cc/CCOcclusionTracker.h: Removed.
1407
1408 2012-02-22  Zoltan Herczeg  <zherczeg@webkit.org>
1409
1410         [Qt] clipToImageBuffer assertion fix in debug mode on Qt.
1411
1412         Rubber stamped by Csaba Osztrogonác.
1413
1414         * platform/graphics/qt/GraphicsContextQt.cpp:
1415         (WebCore::GraphicsContext::restorePlatformState):
1416
1417 2012-02-22  Adam Barth  <abarth@webkit.org>
1418
1419         [GTK] fast/frames/frame-dead-region.html crash
1420         https://bugs.webkit.org/show_bug.cgi?id=79205
1421
1422         Unreviewed.
1423
1424         Apparently we're not supposed to call willDetachPage from
1425         CachedFrame::destroy.  This call got added in
1426         http://trac.webkit.org/changeset/108428, but it seems to cause a crash.
1427
1428         * loader/FrameLoader.cpp:
1429         (WebCore::FrameLoader::closeAndRemoveChild):
1430         (WebCore::FrameLoader::detachFromParent):
1431         * page/Frame.h:
1432         (WebCore::Frame::detachFromPage):
1433         * page/Page.cpp:
1434         (WebCore::Page::~Page):
1435
1436 2012-02-22  Adam Barth  <abarth@webkit.org>
1437
1438         Move Geolocation code into Modules/geolocation
1439         https://bugs.webkit.org/show_bug.cgi?id=79204
1440
1441         Reviewed by Hajime Morita.
1442
1443         There are still some dangling references into the Geolocation module,
1444         which I will clean up in a followup patch.
1445
1446         * CMakeLists.txt:
1447         * DerivedSources.make:
1448         * DerivedSources.pri:
1449         * GNUmakefile.list.am:
1450         * Modules/geolocation/Geolocation.cpp: Copied from Source/WebCore/page/Geolocation.cpp.
1451         * Modules/geolocation/Geolocation.h: Copied from Source/WebCore/page/Geolocation.h.
1452         * Modules/geolocation/Geolocation.idl: Copied from Source/WebCore/page/Geolocation.idl.
1453         * Modules/geolocation/GeolocationController.cpp: Copied from Source/WebCore/page/GeolocationController.cpp.
1454         * Modules/geolocation/GeolocationController.h: Copied from Source/WebCore/page/GeolocationController.h.
1455         * Modules/geolocation/GeolocationError.h: Copied from Source/WebCore/page/GeolocationError.h.
1456         * Modules/geolocation/GeolocationPosition.h: Copied from Source/WebCore/page/GeolocationPosition.h.
1457         * Modules/geolocation/Geoposition.h: Copied from Source/WebCore/page/Geoposition.h.
1458         * Modules/geolocation/Geoposition.idl: Copied from Source/WebCore/page/Geoposition.idl.
1459         * Modules/geolocation/PositionCallback.h: Copied from Source/WebCore/page/PositionCallback.h.
1460         * Modules/geolocation/PositionCallback.idl: Copied from Source/WebCore/page/PositionCallback.idl.
1461         * Modules/geolocation/PositionError.h: Copied from Source/WebCore/page/PositionError.h.
1462         * Modules/geolocation/PositionError.idl: Copied from Source/WebCore/page/PositionError.idl.
1463         * Modules/geolocation/PositionErrorCallback.h: Copied from Source/WebCore/page/PositionErrorCallback.h.
1464         * Modules/geolocation/PositionErrorCallback.idl: Copied from Source/WebCore/page/PositionErrorCallback.idl.
1465         * Modules/geolocation/PositionOptions.h: Copied from Source/WebCore/page/PositionOptions.h.
1466         * Target.pri:
1467         * WebCore.gypi:
1468         * WebCore.vcproj/WebCore.vcproj:
1469         * WebCore.xcodeproj/project.pbxproj:
1470         * page/Geolocation.cpp: Removed.
1471         * page/Geolocation.h: Removed.
1472         * page/Geolocation.idl: Removed.
1473         * page/GeolocationController.cpp: Removed.
1474         * page/GeolocationController.h: Removed.
1475         * page/GeolocationError.h: Removed.
1476         * page/GeolocationPosition.h: Removed.
1477         * page/Geoposition.h: Removed.
1478         * page/Geoposition.idl: Removed.
1479         * page/PositionCallback.h: Removed.
1480         * page/PositionCallback.idl: Removed.
1481         * page/PositionError.h: Removed.
1482         * page/PositionError.idl: Removed.
1483         * page/PositionErrorCallback.h: Removed.
1484         * page/PositionErrorCallback.idl: Removed.
1485         * page/PositionOptions.h: Removed.
1486
1487 2012-02-22  Frederik Gladhorn  <frederik.gladhorn@nokia.com>
1488
1489         [gtk] Accessibility: use find funtion in vector instead of for.
1490         https://bugs.webkit.org/show_bug.cgi?id=77878
1491
1492         Reviewed by Hajime Morita.
1493
1494         Minor cleanup, use the find function from vector.
1495
1496         * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
1497         (webkitAccessibleGetIndexInParent):
1498
1499 2012-02-22  Ryosuke Niwa  <rniwa@webkit.org>
1500
1501         Remove the remaining uses of CSSStyleDeclaration in Editor
1502         https://bugs.webkit.org/show_bug.cgi?id=78939
1503
1504         Reviewed by Enrica Casucci.
1505
1506         Changed the argument types of shouldApplyStyle, applyParagraphStyle, applyStyleToSelection,
1507         applyParagraphStyleToSelection, and computeAndSetTypingStyle in Editor from CSSStyleDeclaration
1508         to StylePropertySet.
1509
1510         * WebCore.exp.in:
1511         * WebCore.xcodeproj/project.pbxproj:
1512         * editing/Editor.cpp:
1513         (WebCore::Editor::applyStyle):
1514         (WebCore::Editor::shouldApplyStyle):
1515         (WebCore::Editor::applyParagraphStyle):
1516         (WebCore::Editor::applyStyleToSelection):
1517         (WebCore::Editor::applyParagraphStyleToSelection):
1518         (WebCore::Editor::setBaseWritingDirection):
1519         (WebCore::Editor::computeAndSetTypingStyle):
1520         * editing/Editor.h:
1521         (WebCore):
1522         (Editor):
1523         * editing/EditorCommand.cpp:
1524         (WebCore::applyCommandToFrame):
1525         (WebCore::executeApplyParagraphStyle):
1526         (WebCore::executeMakeTextWritingDirectionLeftToRight):
1527         (WebCore::executeMakeTextWritingDirectionNatural):
1528         (WebCore::executeMakeTextWritingDirectionRightToLeft):
1529         * loader/EmptyClients.h:
1530         (WebCore::EmptyEditorClient::shouldApplyStyle):
1531         * page/DragController.cpp:
1532         (WebCore::DragController::concludeEditDrag):
1533         * page/EditorClient.h:
1534         (WebCore):
1535         (EditorClient):
1536
1537 2012-02-22  Dana Jansens  <danakj@chromium.org>
1538
1539         [chromium] Cull quads outside of the scissoring damage rect
1540         https://bugs.webkit.org/show_bug.cgi?id=79181
1541
1542         Reviewed by James Robinson.
1543
1544         Quads outside of the partial swap cause us to execute GL operations
1545         that actually use a fair amount of CPU time (enough to affect power
1546         usage). Here we cull quads by only keeping their intersection
1547         with the damage rect used for partial swap.
1548
1549         Unit test: CCQuadCuller.cpp
1550
1551         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1552         (WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
1553         * platform/graphics/chromium/cc/CCQuadCuller.cpp:
1554         (WebCore::CCQuadCuller::cullOccludedQuads):
1555         * platform/graphics/chromium/cc/CCQuadCuller.h:
1556         (CCQuadCuller):
1557         * platform/graphics/chromium/cc/CCRenderPass.cpp:
1558         (WebCore::CCRenderPass::optimizeQuads):
1559         * platform/graphics/chromium/cc/CCRenderPass.h:
1560         (CCRenderPass):
1561
1562 2012-02-21  Dana Jansens  <danakj@chromium.org>
1563
1564         [Chromium] New CCOcclusionTracker class with tests
1565         https://bugs.webkit.org/show_bug.cgi?id=78549
1566
1567         Reviewed by James Robinson.
1568
1569         Adds a CCOcclusionTrackerBase template class that is able to track occlusion
1570         of layers while traversing the layer tree from front-to-back, with typedefed
1571         versions for the main and impl threads.
1572
1573         At each step of the front-to-back traversal, the class should be notified of
1574         changes to the current render target, and when done working with a layer, the
1575         layer is added the tracked occlusion.
1576
1577         The class provides tests for checking if a rect in content space
1578         for a layer/surface is occluded by others in front of it.
1579
1580         Unit tests: CCOcclusionTrackerTest.cpp
1581
1582         * WebCore.gypi:
1583         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Added.
1584         (WebCore):
1585         (WebCore::::enterTargetRenderSurface):
1586         (WebCore::::finishedTargetRenderSurface):
1587         (WebCore::transformSurfaceOpaqueRegion):
1588         (WebCore::::leaveToTargetRenderSurface):
1589         (WebCore::contentToScreenSpaceTransform):
1590         (WebCore::contentToTargetSurfaceTransform):
1591         (WebCore::computeOcclusionBehindLayer):
1592         (WebCore::::markOccludedBehindLayer):
1593         (WebCore::testContentRectOccluded):
1594         (WebCore::::occluded):
1595         (WebCore::::surfaceOccluded):
1596         (WebCore::rectSubtractRegion):
1597         (WebCore::computeUnoccludedContentRect):
1598         (WebCore::::unoccludedContentRect):
1599         (WebCore::::surfaceUnoccludedContentRect):
1600         (WebCore::::currentOcclusionInScreenSpace):
1601         (WebCore::::currentOcclusionInTargetSurface):
1602         * platform/graphics/chromium/cc/CCOcclusionTracker.h: Added.
1603         (WebCore):
1604         (CCOcclusionTrackerBase):
1605         (WebCore::CCOcclusionTrackerBase::CCOcclusionTrackerBase):
1606         (StackObject):
1607
1608 2012-02-21  Andreas Kling  <awesomekling@apple.com>
1609
1610         Cache <font face> family lists in CSSValuePool.
1611         <http://webkit.org/b/79195>
1612
1613         Reviewed by Antti Koivisto.
1614
1615         HTMLFontElements with "face" attributes are very common in legacy web content.
1616         Add a String->CSSValue cache for these in CSSValuePool and use it to avoid
1617         reparsing and recreating duplicate font face values.
1618
1619         This knocks 20ms (~1.5%) worth of samples off of the Moz page cycler on my system.
1620
1621         * css/CSSParser.cpp:
1622         (WebCore::CSSParser::parseFontFaceValue):
1623         * css/CSSParser.h:
1624         * css/CSSValuePool.cpp:
1625         (WebCore::CSSValuePool::createFontFaceValue):
1626         * css/CSSValuePool.h:
1627         * html/HTMLFontElement.cpp:
1628         (WebCore::HTMLFontElement::collectStyleForAttribute):
1629
1630 2012-02-21  Adam Barth  <abarth@webkit.org>
1631
1632         Separate the implementation of registerProtocolHandler from Navigator.cpp
1633         https://bugs.webkit.org/show_bug.cgi?id=78945
1634
1635         Reviewed by Eric Seidel.
1636
1637         The implementation of registerProtocolHandler needlessly complicates
1638         the implementation of Navigator.cpp.  In principle,
1639         registerProtocolHandler (and possibly registerContentHandler, when we
1640         implement that feature) could be its own module, but that seems like
1641         overkill for one or two files.
1642
1643         * CMakeLists.txt:
1644         * GNUmakefile.list.am:
1645         * Target.pri:
1646         * WebCore.gypi:
1647         * WebCore.vcproj/WebCore.vcproj:
1648         * WebCore.xcodeproj/project.pbxproj:
1649         * page/Navigator.cpp:
1650         (WebCore):
1651         * page/Navigator.h:
1652         (Navigator):
1653         * page/Navigator.idl:
1654
1655 2012-02-21  MORITA Hajime  <morrita@google.com>
1656
1657         HasIDFlag and HasClassFlag can be removed.
1658         https://bugs.webkit.org/show_bug.cgi?id=77861
1659
1660         Reviewed by Andreas Kling.
1661
1662         Replaced HasIDFlag and HasClassFlag with a check against
1663         ElementAttributeData. It looks these flags (originally bitfields)
1664         were legacy of ancient era, where we didn't cache @id and @class
1665         values and needed a hash lookup for each check.
1666
1667         No new tests. No behavioral change.
1668
1669         * dom/Element.cpp:
1670         (WebCore::Element::idAttributeChanged):
1671         * dom/Element.h:
1672         (WebCore::Element::hasID):
1673         (WebCore):
1674         (WebCore::Element::hasClass):
1675         (WebCore::Node::hasID):
1676         (WebCore::Node::hasClass):
1677         * dom/ElementAttributeData.h:
1678         (WebCore::ElementAttributeData::hasID):
1679         (WebCore::ElementAttributeData::hasClass):
1680         (ElementAttributeData):
1681         * dom/Node.h:
1682         (Node):
1683         (WebCore::nodeStyleChangeShift):
1684         * dom/StyledElement.cpp:
1685         (WebCore::StyledElement::classAttributeChanged):
1686
1687 2012-02-21  Matthew Delaney  <mdelaney@apple.com>
1688
1689         2D Canvas setTransform makes unnecessary matrix mults
1690         https://bugs.webkit.org/show_bug.cgi?id=79190
1691
1692         Reviewed by Dan Bernstein.
1693
1694         No new tests - plenty of current tests using setTransform.
1695
1696         * html/canvas/CanvasRenderingContext2D.cpp:
1697         (WebCore::CanvasRenderingContext2D::setTransform):
1698
1699 2012-02-21  MORITA Hajime <morrita@google.com>
1700
1701         INPUT_SPEECH should be implemented as a PageSupplement.
1702         https://bugs.webkit.org/show_bug.cgi?id=79051
1703
1704         Turned SpeechInput to a PageSupplement.
1705
1706         Reviewed by Adam Barth.
1707
1708         No new tests. No behavior change.
1709
1710         * html/shadow/TextControlInnerElements.cpp:
1711         (WebCore::InputFieldSpeechButtonElement::speechInput):
1712         (WebCore::InputFieldSpeechButtonElement::attach):
1713         * page/Page.cpp:
1714         (WebCore::Page::Page):
1715         (WebCore::Page::PageClients::PageClients):
1716         * page/Page.h:
1717         (WebCore):
1718         (PageClients):
1719         (Page):
1720         * page/SpeechInput.cpp:
1721         (WebCore::SpeechInput::supplementName):
1722         (WebCore):
1723         (WebCore::provideSpeechInputTo):
1724         * page/SpeechInput.h:
1725         (SpeechInput):
1726         (WebCore::SpeechInput::from):
1727         * page/SpeechInputClient.h:
1728         (WebCore):
1729
1730 2012-02-21  Alexandre Elias  <aelias@google.com>
1731
1732         [chromium] Add three small zoom gesture features
1733         https://bugs.webkit.org/show_bug.cgi?id=74216
1734
1735         Reviewed by James Robinson.
1736
1737         1. Support panning around with two fingers.
1738         2. When double-tap zooming, issue the commit at final/scroll scale as
1739         early as possible.
1740         3. When pinch zooming out, issue a commit at minimum scale to avoid
1741         showing checkerboard.
1742
1743         Added test for panning to CCLayerTreeHostImplTest::pinchGesture.
1744         (The other features are heuristics whose exact behavior we don't need
1745         to lock in with a test.)
1746
1747         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
1748         (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
1749         (WebCore::CCLayerTreeHostImpl::pinchGestureBegin):
1750         (WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
1751         (WebCore::CCLayerTreeHostImpl::computeDoubleTapZoomDeltas):
1752         (WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas):
1753         (WebCore::CCLayerTreeHostImpl::makeScrollAndScaleSet):
1754         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
1755         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
1756
1757 2012-02-21  Filip Pizlo  <fpizlo@apple.com>
1758
1759         JSC should be a triple-tier VM
1760         https://bugs.webkit.org/show_bug.cgi?id=75812
1761         <rdar://problem/10079694>
1762
1763         Reviewed by Gavin Barraclough.
1764         
1765         No new tests, because there is no change in behavior.
1766
1767         * CMakeLists.txt:
1768
1769 2012-02-21  Kentaro Hara  <haraken@chromium.org>
1770
1771         NavigatorMediaStream.idl defines an interface for NavigatorGamepad
1772         https://bugs.webkit.org/show_bug.cgi?id=79152
1773
1774         Reviewed by Adam Barth.
1775
1776         Fixed a typo: NavigatorGamepad => NavigatorMediaStream
1777
1778         This typo fix just changes the name of generated files:
1779
1780         - V8NavigatorGamepad.h => V8NavigatorMediaStream.h
1781         - V8NavigatorGamepad.cpp => V8NavigatorMediaStream.cpp
1782
1783         The reason why the typo has not caused any serious build issues is that
1784         the generate files for supplemental interfaces are "empty" and not important.
1785         They just exist to control makefile dependencies.
1786
1787         No tests. No change in behavior.
1788
1789         * mediastream/NavigatorMediaStream.idl:
1790
1791 2012-02-21  Daniel Sievers  <sievers@chromium.org>
1792
1793         [Chromium] Fix compositor setting color uniforms incorrectly for solid color quads.
1794         https://bugs.webkit.org/show_bug.cgi?id=76017
1795
1796         Reviewed by James Robinson.
1797
1798         * platform/graphics/chromium/LayerRendererChromium.cpp:
1799         (WebCore::LayerRendererChromium::drawSolidColorQuad):
1800
1801 2012-02-21  Max Vujovic  <mvujovic@adobe.com>
1802
1803         getCTM() on SVG root element with borders, paddings, and viewbox returns incorrect values
1804         https://bugs.webkit.org/show_bug.cgi?id=78631
1805
1806         Reviewed by Eric Seidel.
1807
1808         SVGSVGElement::currentViewportSize was returning the size of the SVG viewport plus CSS
1809         borders and paddings, causing the CTM calculation to be off.
1810
1811         Test: svg/dom/SVGLocatable-getCTM-svg-root.html
1812
1813         * svg/SVGSVGElement.cpp:
1814         (WebCore::SVGSVGElement::currentViewportSize):
1815
1816             SVGSVGElement::currentViewportSize now uses the contentBoxRect instead of the frameRect.
1817             The contentBoxRect corresponds to the SVG viewport and does not include borders and
1818             paddings.
1819
1820 2012-02-21  Robin Cao  <robin.cao@torchmobile.com.cn>
1821
1822         [BlackBerry] Upstream Icon class in platform/graphics/blackberry
1823         https://bugs.webkit.org/show_bug.cgi?id=79088
1824
1825         Reviewed by Antonio Gomes.
1826
1827         Initial upstreaming, no new tests.
1828
1829         * platform/graphics/blackberry/IconBlackBerry.cpp: Added.
1830         (WebCore):
1831         (WebCore::Icon::~Icon):
1832         (WebCore::Icon::paint):
1833         (WebCore::Icon::createIconForFiles):
1834
1835 2012-02-21  Kenichi Ishibashi  <bashi@chromium.org>
1836
1837         Rename "reserved1" flag of WebSocketFrame to compress
1838         https://bugs.webkit.org/show_bug.cgi?id=79187
1839
1840         WebSocket deflate-frame extension draft specification defines COMP bit.
1841         http://tools.ietf.org/html/draft-tyoshino-hybi-websocket-perframe-deflate-05#page-11
1842
1843         Reviewed by Kent Tamura.
1844
1845         No new tests. http/tests/websocket/tests/hybi/reserved-bits.html is revised to follow the change.
1846
1847         * websockets/WebSocketChannel.cpp:
1848         (WebCore):
1849         (WebCore::WebSocketChannel::parseFrame): "reserved1" renamed "compress".
1850         (WebCore::WebSocketChannel::processFrame): Removed reserved1 flag check.
1851         (WebCore::makeFrameData):
1852         (WebCore::WebSocketChannel::sendFrame):
1853         * websockets/WebSocketFrame.h: "reserved1" flag renamed "compress".
1854         (WebCore::WebSocketFrame::WebSocketFrame):
1855         (WebSocketFrame):
1856
1857 2012-02-21  Yael Aharon  <yael.aharon@nokia.com>
1858
1859         [Texmap] Move all TextureMapper related files to graphics/texmap
1860         https://bugs.webkit.org/show_bug.cgi?id=79141
1861
1862         Reviewed by Martin Robinson.
1863
1864         Move TextureMaooerGL and TextureMapperShaderManager files to graphics/texmap.
1865         No new tests. 
1866
1867         * GNUmakefile.list.am:
1868         * Target.pri:
1869         * WebCore.gypi:
1870         * platform/graphics/qt/GraphicsContext3DQt.cpp
1871         * platform/graphics/opengl/TextureMapperGL.cpp: Removed.
1872         * platform/graphics/opengl/TextureMapperGL.h: Removed.
1873         * platform/graphics/opengl/TextureMapperShaderManager.cpp: Removed.
1874         * platform/graphics/opengl/TextureMapperShaderManager.h: Removed.
1875         * platform/graphics/texmap/TextureMapperGL.cpp: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperGL.cpp.
1876         * platform/graphics/texmap/TextureMapperGL.h: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperGL.h.
1877         * platform/graphics/texmap/TextureMapperShaderManager.cpp: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperShaderManager.cpp.
1878         * platform/graphics/texmap/TextureMapperShaderManager.h: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperShaderManager.h.
1879
1880 2012-02-20  MORITA Hajime  <morrita@google.com>
1881
1882         MEDIA_STREAM should be implemented as a PageSupplement.
1883         https://bugs.webkit.org/show_bug.cgi?id=79050
1884
1885         Reviewed by Adam Barth.
1886
1887         Added UserMediaController which implements PageSupplement. This
1888         controller mediates WebCore-to-client communication and lifecycle
1889         management. Then pushed UserMediaController out as a
1890         PageSupplement module.
1891
1892         No new tests. No behavior change.
1893
1894         * WebCore.gypi:
1895         * GNUmakefile.list.am:
1896         * mediastream/NavigatorMediaStream.cpp:
1897         (WebCore::NavigatorMediaStream::webkitGetUserMedia):
1898         * mediastream/UserMediaClient.h:
1899         (WebCore):
1900         * mediastream/UserMediaController.cpp: Added.
1901         (WebCore):
1902         (WebCore::UserMediaController::supplementName):
1903         (WebCore::UserMediaController::UserMediaController):
1904         (WebCore::UserMediaController::~UserMediaController):
1905         (WebCore::UserMediaController::create):
1906         (WebCore::provideUserMediaTo):
1907         * mediastream/UserMediaController.h: Added.
1908         (WebCore):
1909         (UserMediaController):
1910         (WebCore::UserMediaController::client):
1911         (WebCore::UserMediaController::from):
1912         (WebCore::UserMediaController::requestUserMedia):
1913         (WebCore::UserMediaController::cancelUserMediaRequest):
1914         * mediastream/UserMediaRequest.cpp:
1915         (WebCore::UserMediaRequest::create):
1916         (WebCore::UserMediaRequest::UserMediaRequest):
1917         (WebCore::UserMediaRequest::didCompleteQuery):
1918         (WebCore::UserMediaRequest::contextDestroyed):
1919         * mediastream/UserMediaRequest.h:
1920         (WebCore):
1921         (UserMediaRequest):
1922         * page/Page.cpp:
1923         (WebCore::Page::Page):
1924         (WebCore::Page::~Page):
1925         (WebCore::Page::PageClients::PageClients):
1926         * page/Page.h:
1927         (WebCore):
1928         (PageClients):
1929         (Page):
1930
1931 2012-02-21  James Robinson  <jamesr@chromium.org>
1932
1933         Node::isContentEditable should only update styles, not layout
1934         https://bugs.webkit.org/show_bug.cgi?id=78637
1935
1936         Reviewed by Ryosuke Niwa.
1937
1938         isContentEditable depends on knowing the node's current computed style, so it has to update styles if they are
1939         out of date.  It does not depend on knowing any layout-derived properties, however, so updating layout is just a
1940         waste of time.
1941
1942         Behavior is covered by existing layout tests, primarily in editing/
1943
1944         * dom/Node.cpp:
1945         (WebCore::Node::isContentEditable):
1946         (WebCore::Node::isContentRichlyEditable):
1947
1948 2012-02-21  James Robinson  <jamesr@chromium.org>
1949
1950         Partially revert r108418 - move allowEventDispatch() call back to where it used to be.
1951
1952         Rubber-stamped by Ryosuke Niwa.
1953
1954         Tested by fast/text/find-layout-crash.html
1955
1956         * dom/ContainerNode.cpp:
1957         (WebCore::ContainerNode::removeChildren):
1958
1959 2012-02-21  Anders Carlsson  <andersca@apple.com>
1960
1961         Background jitters on pages with background-attachment: fixed
1962         https://bugs.webkit.org/show_bug.cgi?id=79182
1963
1964         Reviewed by Dan Bernstein.
1965
1966         Make sure to update the main frame scroll position before updating the scrolling layer.
1967         This also fixes a (purely theoretical) bug where we wouldn't be updating the main frame
1968         position if the main frame didn't have a scroll layer.
1969
1970         * page/scrolling/ScrollingCoordinator.cpp:
1971         (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
1972
1973 2012-02-21  Dana Jansens  <danakj@chromium.org>
1974
1975         Early-out in Region::unite() for adding an empty region.
1976         https://bugs.webkit.org/show_bug.cgi?id=79174
1977
1978         Reviewed by Anders Carlsson.
1979
1980         * platform/graphics/Region.cpp:
1981         (WebCore::Region::unite):
1982
1983 2012-02-21  Dana Jansens  <danakj@chromium.org>
1984
1985         [chromium] Painting a layer clears opaque rect in untouched tiles
1986         https://bugs.webkit.org/show_bug.cgi?id=79157
1987
1988         Reviewed by James Robinson.
1989
1990         When painting a tiled layer, we would throw away the saved opaque rect
1991         for any tiles that were not part of the paint. So now we check
1992         if we are able to save the existing saved opaque rect in a more
1993         proper way:
1994         1. If any pixels of the saved rect are painted non-opaque, we replace
1995         the saved rect.
1996         2. If an opaque rect is drawn outside of the saved rect, we replace
1997         the saved rect.
1998
1999         Unit test: TiledLayerChromiumTest.cpp
2000
2001         * platform/graphics/chromium/TiledLayerChromium.cpp:
2002         (WebCore::TiledLayerChromium::prepareToUpdateTiles):
2003         (WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):
2004
2005 2012-02-21  Raymond Toy  <rtoy@google.com>
2006
2007         Small typo in AudioPannerNode.cpp
2008         https://bugs.webkit.org/show_bug.cgi?id=75890
2009
2010         Change to check elevation as intended instead of azimuth.
2011         
2012         Reviewed by Chris Rogers.
2013
2014         No new tests for correction of typo.
2015
2016         * webaudio/AudioPannerNode.cpp:
2017         (WebCore::AudioPannerNode::getAzimuthElevation):
2018
2019 2012-02-21  Adam Barth  <abarth@webkit.org>
2020
2021         Frame and Navigator shouldn't need to worry about Geolocation
2022         https://bugs.webkit.org/show_bug.cgi?id=78860
2023
2024         Reviewed by Eric Seidel.
2025
2026         This patch removes some Geolocation-specific code from Frame and
2027         Navigator in favor of our new supplemental module mechanism.  We're
2028         still refining the module system, but we seem to be converging on a
2029         simple Observer/Supplement design.
2030
2031         In a future patch, I'll move the remaining Geolocation-related files in
2032         WebCore into Modules/geolocation.  This patch appears to be the first
2033         patch that introduces a module used by all the various build systems,
2034         which is why there's a bit more build system overhead than usual.
2035
2036         * Modules/geolocation: Added.
2037         * Modules/geolocation/NavigatorGeolocation.cpp: Added.
2038         (WebCore):
2039         (WebCore::NavigatorGeolocation::NavigatorGeolocation):
2040         (WebCore::NavigatorGeolocation::~NavigatorGeolocation):
2041         (WebCore::NavigatorGeolocation::pageDestroyed):
2042         (WebCore::NavigatorGeolocation::from):
2043         (WebCore::NavigatorGeolocation::geolocation):
2044         * Modules/geolocation/NavigatorGeolocation.h: Added.
2045         (WebCore):
2046         (NavigatorGeolocation):
2047         * Modules/geolocation/NavigatorGeolocation.idl: Added.
2048             - I've temporarily disabled this API for GObject because it generates
2049               a strange compile error.  Once I land this patch, I'll spend some
2050               more time fixing the compile error.
2051         * page/DOMWindow.cpp:
2052         (WebCore):
2053         * page/DOMWindow.h:
2054         (DOMWindow):
2055         * page/Frame.cpp:
2056         (WebCore::Frame::pageDestroyed):
2057         (WebCore::Frame::transferChildFrameToNewDocument):
2058         * page/FrameDestructionObserver.cpp:
2059         (WebCore::FrameDestructionObserver::pageDestroyed):
2060         (WebCore):
2061         * page/FrameDestructionObserver.h:
2062         (FrameDestructionObserver):
2063         * page/Navigator.cpp:
2064         (WebCore):
2065         * page/Navigator.h:
2066         (WebCore):
2067         (Navigator):
2068         * page/Navigator.idl:
2069
2070 2012-02-21  Shawn Singh  <shawnsingh@chromium.org>
2071
2072         [chromium] Refactor CCLayerTreeHostCommon: merge scattered setTargetRenderSurface logic
2073         https://bugs.webkit.org/show_bug.cgi?id=78936
2074
2075         Reviewed by James Robinson.
2076
2077         No change in behavior, the code moved around already covered by existing tests.
2078
2079         In calculateDrawTransformsAndVisibility(), there are two separate
2080         if-else statements where setTargetRenderSurface logic is
2081         performed, and this makes the code less readable and more error
2082         prone. This patch merges the logic, removing the redundant if-else
2083         statements.
2084
2085         This code also merges one other set of if-statements that are
2086         equivalent, if (layer->parent()) and if (layer!=rootLayer).
2087
2088         * platform/graphics/chromium/LayerChromium.cpp:
2089         (WebCore::LayerChromium::createRenderSurface):
2090         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2091         (WebCore::CCLayerImpl::createRenderSurface):
2092         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
2093         (WebCore::calculateDrawTransformsAndVisibilityInternal):
2094
2095 2012-02-21  Kentaro Hara  <haraken@chromium.org>
2096
2097         Remove FIXME from resolve-supplemental.pl
2098         https://bugs.webkit.org/show_bug.cgi?id=79160
2099
2100         Reviewed by Adam Barth.
2101
2102         The IDL attribute checker has been enabled in all build systems.
2103         This patch removes FIXME in resolve-supplemental.pl.
2104         Also, this patch improves a comment in IDLAttributes.txt.
2105
2106         No tests. No change in behavior.
2107
2108         * bindings/scripts/IDLAttributes.txt:
2109         * bindings/scripts/resolve-supplemental.pl:
2110
2111 2012-02-21  Emil A Eklund  <eae@chromium.org>
2112
2113         Add FractionalLayoutRect for sub-pixel layout
2114         https://bugs.webkit.org/show_bug.cgi?id=78924
2115
2116         Reviewed by Eric Seidel.
2117
2118         Add FractionalLayoutUnit version of Rect class. Uses FractionalLayoutPoint
2119         and FractionalLayoutSize internally.
2120
2121         Also add conversions to int/float versions of same.
2122
2123         No new tests.
2124
2125         * GNUmakefile.list.am:
2126         * WebCore.vcproj/WebCore.vcproj:
2127         * WebCore.xcodeproj/project.pbxproj:
2128         * platform/graphics/FloatRect.cpp:
2129         (WebCore::FloatRect::FloatRect):
2130         (WebCore):
2131         * platform/graphics/FloatRect.h:
2132         (WebCore):
2133         (FloatRect):
2134         * platform/graphics/FractionalLayoutRect.cpp: Added.
2135         (WebCore):
2136         (WebCore::FractionalLayoutRect::FractionalLayoutRect):
2137         (WebCore::FractionalLayoutRect::intersects):
2138         (WebCore::FractionalLayoutRect::contains):
2139         (WebCore::FractionalLayoutRect::intersect):
2140         (WebCore::FractionalLayoutRect::unite):
2141         (WebCore::FractionalLayoutRect::uniteIfNonZero):
2142         (WebCore::FractionalLayoutRect::scale):
2143         (WebCore::unionRect):
2144         (WebCore::enclosingIntRect):
2145         (WebCore::enclosingFractionalLayoutRect):
2146         (WebCore::pixelSnappedIntRect):
2147         * platform/graphics/FractionalLayoutRect.h: Added.
2148         (WebCore):
2149         (FractionalLayoutRect):
2150         (WebCore::FractionalLayoutRect::FractionalLayoutRect):
2151         (WebCore::FractionalLayoutRect::location):
2152         (WebCore::FractionalLayoutRect::size):
2153         (WebCore::FractionalLayoutRect::setLocation):
2154         (WebCore::FractionalLayoutRect::setSize):
2155         (WebCore::FractionalLayoutRect::x):
2156         (WebCore::FractionalLayoutRect::y):
2157         (WebCore::FractionalLayoutRect::maxX):
2158         (WebCore::FractionalLayoutRect::maxY):
2159         (WebCore::FractionalLayoutRect::width):
2160         (WebCore::FractionalLayoutRect::height):
2161         (WebCore::FractionalLayoutRect::setX):
2162         (WebCore::FractionalLayoutRect::setY):
2163         (WebCore::FractionalLayoutRect::setWidth):
2164         (WebCore::FractionalLayoutRect::setHeight):
2165         (WebCore::FractionalLayoutRect::isEmpty):
2166         (WebCore::FractionalLayoutRect::center):
2167         (WebCore::FractionalLayoutRect::move):
2168         (WebCore::FractionalLayoutRect::moveBy):
2169         (WebCore::FractionalLayoutRect::expand):
2170         (WebCore::FractionalLayoutRect::contract):
2171         (WebCore::FractionalLayoutRect::shiftXEdgeTo):
2172         (WebCore::FractionalLayoutRect::shiftMaxXEdgeTo):
2173         (WebCore::FractionalLayoutRect::shiftYEdgeTo):
2174         (WebCore::FractionalLayoutRect::shiftMaxYEdgeTo):
2175         (WebCore::FractionalLayoutRect::minXMinYCorner):
2176         (WebCore::FractionalLayoutRect::maxXMinYCorner):
2177         (WebCore::FractionalLayoutRect::minXMaxYCorner):
2178         (WebCore::FractionalLayoutRect::maxXMaxYCorner):
2179         (WebCore::FractionalLayoutRect::contains):
2180         (WebCore::FractionalLayoutRect::inflateX):
2181         (WebCore::FractionalLayoutRect::inflateY):
2182         (WebCore::FractionalLayoutRect::inflate):
2183         (WebCore::FractionalLayoutRect::transposedRect):
2184         (WebCore::FractionalLayoutRect::infiniteRect):
2185         (WebCore::intersection):
2186         (WebCore::unionRect):
2187         (WebCore::operator==):
2188         (WebCore::operator!=):
2189         * platform/graphics/IntRect.cpp:
2190         (WebCore::IntRect::IntRect):
2191         (WebCore):
2192         * platform/graphics/IntRect.h:
2193         (WebCore):
2194         (IntRect):
2195
2196 2012-02-21  James Robinson  <jamesr@chromium.org>
2197
2198         Enable ScrollingCoordinator in chromium whenever compositing is enabled
2199         https://bugs.webkit.org/show_bug.cgi?id=79165
2200
2201         Reviewed by Adam Barth.
2202
2203         As the title says.
2204
2205         * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
2206         (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
2207         (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
2208         (WebCore::ScrollingCoordinator::setScrollLayer):
2209         (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
2210         (WebCore::ScrollingCoordinator::setScrollParameters):
2211         (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
2212         (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
2213             Remove ASSERT_NOT_REACHED()ed from these functions, they are now expected to be called but do nothing.
2214         * rendering/RenderLayerBacking.cpp:
2215         (WebCore::RenderLayerBacking::RenderLayerBacking):
2216             Guard a mac-specific piece of code in #if PLATFORM(MAC). This code already has a FIXME.
2217         * rendering/RenderLayerCompositor.cpp:
2218         (WebCore::shouldCompositeOverflowControls):
2219             Make coordinatesScroll..() sufficient but not necessary for compositing overflow controls. In chromium, we
2220             want to composite overflow controls even for FrameViews that we aren't coordinating via the
2221             ScrollingCoordinator.
2222
2223 2012-02-21  Adam Klein  <adamk@chromium.org>
2224
2225         Setting innerText causes DOMSubtreeModified to be dispatched too early
2226         https://bugs.webkit.org/show_bug.cgi?id=79140
2227
2228         Reviewed by Ryosuke Niwa.
2229
2230         Followup to r108152: move children change notifications later in
2231         ContainerNode::removeChildren(), thus making sure Node::inDocument()
2232         is in the correct state when we call into script.
2233
2234         Tests: fast/dom/getElementById-consistency3.html
2235                fast/dom/getElementById-consistency4.html
2236                fast/dom/getElementById-consistency5.html
2237
2238         * dom/ContainerNode.cpp:
2239         (WebCore::ContainerNode::removeChildren):
2240
2241 2012-02-15  Ryosuke Niwa  <rniwa@webkit.org>
2242
2243         Assertion failure in TextIterator::handleTextBox
2244         https://bugs.webkit.org/show_bug.cgi?id=78530
2245
2246         Reviewed by Eric Seidel.
2247
2248         The assertion failure was caused by handleTextNodeFirstLetter's updating m_text without clearing
2249         m_sortedTextBoxesPosition. Re-structured handleTextNode so that we always reset m_sortedTextBoxesPosition
2250         when we have a first-letter.
2251
2252         Test: editing/text-iterator/rtl-first-letter-text-iterator-crash.html
2253
2254         * editing/TextIterator.cpp:
2255         (WebCore::TextIterator::handleTextNode):
2256         (WebCore::TextIterator::handleTextBox):
2257         (WebCore::TextIterator::handleTextNodeFirstLetter):
2258
2259 2012-02-21  Yael Aharon  <yael.aharon@nokia.com>
2260
2261         Unreviewed build fix.
2262
2263         No new tests.
2264
2265         * platform/graphics/opengl/TextureMapperGL.cpp:
2266
2267 2012-02-21  Adam Klein  <adamk@chromium.org>
2268
2269         ContainerNode::childrenChanged must be called immediately after removing children
2270         https://bugs.webkit.org/show_bug.cgi?id=79162
2271
2272         Reviewed by Ryosuke Niwa.
2273
2274         In r108152, a call to childrenChanged() was erroneously moved
2275         below the call to child->removedFromDocument(). This breaks, at the
2276         least, the behavior of the <title> element. This patch corrects the
2277         mistake and adds a test.
2278
2279         Test: fast/dom/title-directionality-removeChild.html
2280
2281         * dom/ContainerNode.cpp:
2282         (WebCore::ContainerNode::removeChild):
2283
2284 2012-02-21  Luke Macpherson   <macpherson@chromium.org>
2285
2286         Implement many instances of HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE in CSSStyleApplyProperty.
2287         https://bugs.webkit.org/show_bug.cgi?id=79067
2288
2289         Reviewed by Andreas Kling.
2290
2291         No new tests / refactoring only.
2292
2293         * css/CSSStyleApplyProperty.cpp:
2294         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2295         * css/CSSStyleSelector.cpp:
2296         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2297         * rendering/style/RenderStyle.h:
2298
2299 2012-02-21  Jon Lee  <jonlee@apple.com>
2300
2301         Bring notifications support to WK1 mac
2302         https://bugs.webkit.org/show_bug.cgi?id=78783
2303         <rdar://problem/10610578>
2304
2305         Reviewed by Anders Carlsson.
2306
2307         * WebCore.exp.in: Expose dispatchErrorEvent on Notification.
2308
2309 2012-02-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
2310
2311         [Qt] Previous web page appears outside content rect
2312         https://bugs.webkit.org/show_bug.cgi?id=78816
2313
2314         Adjust the scissor clipping by -1, as the glScissor() function requires coordinates and
2315         not sizes.
2316
2317         Reviewed by Kenneth Rohde Christiansen.
2318
2319         No new functionality.
2320
2321         * platform/graphics/opengl/TextureMapperGL.cpp:
2322         (WebCore::scissorClip):
2323
2324 2012-02-21  Victor Carbune  <vcarbune@adobe.com>
2325
2326         Added support for pause-on-exit flag on a TextTrackCue.
2327         https://bugs.webkit.org/show_bug.cgi?id=72173
2328
2329         Reviewed by Eric Carlson.
2330
2331         Test: media/track/track-cues-pause-on-exit.html
2332
2333         * html/HTMLMediaElement.cpp:
2334         (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Implemented
2335         support for pausing the video if the pause-on-exit flag is set on
2336         a cue that is currently exiting.
2337
2338 2012-02-21  Kentaro Hara  <haraken@chromium.org>
2339
2340         Enable the IDL attribute checker in all build systems
2341         https://bugs.webkit.org/show_bug.cgi?id=79090
2342
2343         Reviewed by Adam Barth.
2344
2345         We have enabled the IDL attribute checker in Chromium in r108322.
2346         This patch enables the IDL attribute checker in all other
2347         build systems.
2348
2349         No tests. I manually checked that [Custommm], [CallWith=],
2350         [CallWith=ScriptExecutionContext|Foo] cause build failures.
2351
2352         * CMakeLists.txt:
2353         * DerivedSources.make:
2354         * DerivedSources.pri:
2355         * GNUmakefile.am:
2356         * UseJSC.cmake:
2357         * UseV8.cmake:
2358         * WebCore.vcproj/WebCore.vcproj:
2359         * WebCore.xcodeproj/project.pbxproj:
2360         * bindings/scripts/IDLAttributes.txt: Added [ObjCCustomImplementation]
2361         since I forgot to add it in r108322.
2362
2363 2012-02-21  Yael Aharon  <yael.aharon@nokia.com>
2364
2365         [Texmap] Better management of shaders in TextureMapperGL
2366         https://bugs.webkit.org/show_bug.cgi?id=78674
2367  
2368         Reviewed by Noam Rosenthal.
2369  
2370         Split TextureMapperGL.cpp into two files.
2371         Get rid of the enums that we were using to identify shaders and to identify variables.
2372         Switch flip and opaque from using bool to using enums.
2373  
2374         No new tests. This is refactoring only.
2375  
2376         * GNUmakefile.list.am:
2377         * Target.pri:
2378         * WebCore.gypi:
2379         * platform/graphics/OpenGLShims.h:
2380         * platform/graphics/opengl/TextureMapperGL.cpp:
2381         (WebCore):
2382         (SharedGLData):
2383         (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
2384         (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
2385         (WebCore::TextureMapperGLData::TextureMapperGLData):
2386         (TextureMapperGLData):
2387         (WebCore::TextureMapperGL::drawTexture):
2388         (WebCore::TextureMapperGL::drawTextureWithMaskAndOpacity):
2389         (WebCore::TextureMapperGL::drawTextureSimple):
2390         (WebCore::TextureMapperGL::beginClip):
2391         * platform/graphics/opengl/TextureMapperGL.h:
2392         * platform/graphics/opengl/TextureMapperShaderManager.cpp: Added.
2393         (WebCore):
2394         (WebCore::FRAGMENT_SHADER):
2395         (WebCore::TextureMapperShaderProgram::initializeProgram):
2396         (WebCore::TextureMapperShaderProgram::getUniformLocation):
2397         (WebCore::TextureMapperShaderProgram::~TextureMapperShaderProgram):
2398         (WebCore::TextureMapperShaderProgramSimple::create):
2399         (WebCore::TextureMapperShaderProgramSimple::TextureMapperShaderProgramSimple):
2400         (WebCore::TextureMapperShaderProgramSimple::vertexShaderSource):
2401         (WebCore::TextureMapperShaderProgramSimple::fragmentShaderSource):
2402         (WebCore::TextureMapperShaderProgramOpacityAndMask::create):
2403         (WebCore::TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask):
2404         (WebCore::TextureMapperShaderProgramOpacityAndMask::vertexShaderSource):
2405         (WebCore::TextureMapperShaderProgramOpacityAndMask::fragmentShaderSource):
2406         (WebCore::TextureMapperShaderProgramClip::create):
2407         (WebCore::TextureMapperShaderProgramClip::TextureMapperShaderProgramClip):
2408         (WebCore::TextureMapperShaderProgramClip::vertexShaderSource):
2409         (WebCore::TextureMapperShaderProgramClip::fragmentShaderSource):
2410         (WebCore::TextureMapperShaderManager::TextureMapperShaderManager):
2411         (WebCore::TextureMapperShaderManager::~TextureMapperShaderManager):
2412         * platform/graphics/opengl/TextureMapperShaderManager.h: Added.
2413         (WebCore):
2414         (WebCore::debugGLCommand):
2415         (TextureMapperShaderProgram):
2416         (WebCore::TextureMapperShaderProgram::id):
2417         (WebCore::TextureMapperShaderProgram::vertexAttrib):
2418         (WebCore::TextureMapperShaderProgram::shaderType):
2419         (TextureMapperShaderProgramSimple):
2420         (WebCore::TextureMapperShaderProgramSimple::matrixVariable):
2421         (WebCore::TextureMapperShaderProgramSimple::sourceMatrixVariable):
2422         (WebCore::TextureMapperShaderProgramSimple::sourceTextureVariable):
2423         (WebCore::TextureMapperShaderProgramSimple::opacityVariable):
2424         (TextureMapperShaderProgramOpacityAndMask):
2425         (WebCore::TextureMapperShaderProgramOpacityAndMask::sourceMatrixVariable):
2426         (WebCore::TextureMapperShaderProgramOpacityAndMask::matrixVariable):
2427         (WebCore::TextureMapperShaderProgramOpacityAndMask::maskMatrixVariable):
2428         (WebCore::TextureMapperShaderProgramOpacityAndMask::sourceTextureVariable):
2429         (WebCore::TextureMapperShaderProgramOpacityAndMask::maskTextureVariable):
2430         (WebCore::TextureMapperShaderProgramOpacityAndMask::opacityVariable):
2431         (TextureMapperShaderProgramClip):
2432         (WebCore::TextureMapperShaderProgramClip::matrixVariable):
2433         (TextureMapperShaderManager):
2434         (WebCore::TextureMapperShaderManager::getShaderProgram):
2435         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2436         (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
2437         * platform/graphics/texmap/TextureMapper.h:
2438         (WebCore::BitmapTexture::reset):
2439         (WebCore::BitmapTexture::isOpaque):
2440         (BitmapTexture):
2441
2442 2012-02-21  Anders Carlsson  <andersca@apple.com>
2443
2444         The tile cache should keep track of the tile coverage rect
2445         https://bugs.webkit.org/show_bug.cgi?id=79149
2446         <rdar://problem/10877338>
2447
2448         Reviewed by Andreas Kling.
2449
2450         Keep track of the tile coverage rect and use it to avoid trying to iterate over non-existent tiles on large pages.
2451
2452         * platform/graphics/ca/mac/TileCache.h:
2453         (TileCache):
2454         * platform/graphics/ca/mac/TileCache.mm:
2455         (WebCore::TileCache::setNeedsDisplayInRect):
2456         (WebCore::TileCache::revalidateTiles):
2457
2458 2012-02-21  Andreas Kling  <awesomekling@apple.com>
2459
2460         Make WebKitCSSShaderValue inherit directly from CSSValue.
2461         <http://webkit.org/b/79144>
2462
2463         Reviewed by Antti Koivisto.
2464
2465         WebKitCSSShaderValue was inheriting from CSSPrimitiveValue but only used
2466         it for storing the shader URL. Moved that to a String member instead.
2467
2468         WebKitCSSShaderValues didn't even return true for isPrimitiveValue() so
2469         there should be no behavior change whatsoever here.
2470
2471         * css/WebKitCSSShaderValue.cpp:
2472         (WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue):
2473         (WebCore::WebKitCSSShaderValue::cachedShader):
2474         (WebCore::WebKitCSSShaderValue::customCssText):
2475         * css/WebKitCSSShaderValue.h:
2476         (WebKitCSSShaderValue):
2477
2478 2012-02-21  James Robinson  <jamesr@chromium.org>
2479
2480         Unreviewed windows build fix - avoid return statement after return if USE(ACCELERATED_COMPOSITING) is set.
2481
2482         * page/scrolling/ScrollingCoordinator.cpp:
2483         (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
2484
2485 2012-02-21  James Robinson  <jamesr@chromium.org>
2486
2487         ScrollingCoordinator::coordinatesScrollingForFrameView should be conditional on compositing being active
2488         https://bugs.webkit.org/show_bug.cgi?id=79126
2489
2490         Reviewed by Anders Carlsson.
2491
2492         The ScrollingCoordinator should only attempt to coordinate scrolling when compositing is active, since it's all
2493         about manipulating GraphicsLayers. Adds a runtime check.
2494
2495         Also removes some stray #if ENABLE(THREADED_SCROLLING) guards that snuck into FrameView.
2496
2497         * page/FrameView.cpp:
2498         (WebCore::FrameView::addFixedObject):
2499         (WebCore::FrameView::removeFixedObject):
2500         * page/scrolling/ScrollingCoordinator.cpp:
2501         (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
2502         (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
2503
2504 2012-02-21  James Robinson  <jamesr@chromium.org>
2505
2506         Chromium build fix. Unreviwed but rubber-stamped by Antti.
2507
2508         * dom/Document.cpp:
2509         * editing/ReplaceSelectionCommand.cpp:
2510         * inspector/InspectorStyleSheet.h:
2511
2512 2012-02-21  Eric Carlson  <eric.carlson@apple.com>
2513
2514         Set Referrer header for media downloads
2515         https://bugs.webkit.org/show_bug.cgi?id=78614
2516
2517         Reviewed by Alexey Proskuryakov.
2518
2519         Test: http/tests/media/video-referer.html was modified to test this change.
2520
2521         * html/HTMLMediaElement.cpp:
2522         (WebCore::HTMLMediaElement::mediaPlayerReferrer): New, return the document's referer.
2523         * html/HTMLMediaElement.h:
2524
2525         * platform/graphics/MediaPlayer.cpp:
2526         (WebCore::MediaPlayer::referrer): New, return the client's mediaPlayerReferrer.
2527         * platform/graphics/MediaPlayer.h:
2528         (WebCore::MediaPlayerClient::mediaPlayerReferrer):
2529
2530         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
2531         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
2532         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Tell AVFoundation to add
2533             a referer header.
2534
2535 2012-02-21  Antti Koivisto  <antti@apple.com>
2536
2537         Not reviewed.
2538
2539         Remove some obsolete comments, use consistent name for propertyID.
2540
2541         * css/StylePropertySet.h:
2542         (StylePropertySet):
2543
2544 2012-02-21  Antti Koivisto  <antti@apple.com>
2545
2546         Clean up StylePropertySet included headers
2547         https://bugs.webkit.org/show_bug.cgi?id=79134
2548
2549         Reviewed by Andreas Kling.
2550
2551         Remove unneccesary includes.
2552
2553         * bindings/js/JSDOMBinding.h:
2554         * css/StylePropertySet.cpp:
2555         * css/StylePropertySet.h:
2556         (WebCore):
2557         (StylePropertySet):
2558         * editing/RemoveCSSPropertyCommand.cpp:
2559
2560 2012-02-21  Lin Wei  <wei.a.lin@intel.com>
2561
2562         Fix bug from r107672.
2563         https://bugs.webkit.org/show_bug.cgi?id=78773
2564
2565         Before set MediaStreamTrack disable/enable operation,
2566         checking the status of MediaStream that contains this MediaStreamTrack.
2567         if MediaStream is finished, then skipping operation of 
2568         didSetMediaStreamTrackEnabled().
2569
2570         Reviewed by Adam Barth.
2571         * mediastream/MediaStreamTrack.cpp:
2572         (WebCore::MediaStreamTrack::setEnabled):
2573
2574 2012-02-21  Julien Chaffraix  <jchaffraix@webkit.org>
2575
2576         Move RenderLayer::scrolledContentOffset calls to a common function
2577         https://bugs.webkit.org/show_bug.cgi?id=76971
2578
2579         Reviewed by David Hyatt.
2580
2581         Refactoring without any change in behavior.
2582
2583         This change adds a RenderBox::scrolledContentOffset function to handle all
2584         the calls that goes through the layer(). This indirection will enable us to
2585         add layer() checks without patching a lot of call sites as part of bug 75568.
2586
2587         We also moved down the concept of scroll offset down to RenderBox where it belongs!
2588
2589         * rendering/RenderLayer.h:
2590         (RenderLayer):
2591         (WebCore::RenderLayer::scrolledContentOffset):
2592         Moved scrolledContent to the private section of the class to prevent misuse.
2593
2594         * rendering/RenderBox.cpp:
2595         (WebCore::RenderBox::scrolledContentOffset):
2596         New function to add an indirection with RenderLayer.
2597
2598         * editing/visible_units.cpp:
2599         (WebCore::absoluteLineDirectionPointToLocalPointInBlock):
2600         * rendering/LayoutState.cpp:
2601         (WebCore::LayoutState::LayoutState):
2602         * rendering/RenderBlock.cpp:
2603         (WebCore::RenderBlock::layoutBlock):
2604         (WebCore::RenderBlock::paintObject):
2605         (WebCore::RenderBlock::selectionGapRectsForRepaint):
2606         (WebCore::RenderBlock::paintSelection):
2607         (WebCore::RenderBlock::nodeAtPoint):
2608         (WebCore::RenderBlock::offsetForContents):
2609         * rendering/RenderBox.cpp:
2610         (WebCore::RenderBox::offsetFromContainer):
2611         (WebCore::RenderBox::computeRectForRepaint):
2612         * rendering/RenderBox.h:
2613         (RenderBox):
2614         * rendering/RenderBoxModelObject.cpp:
2615         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2616         * rendering/RenderInline.cpp:
2617         (WebCore::RenderInline::clippedOverflowRectForRepaint):
2618         (WebCore::RenderInline::computeRectForRepaint):
2619         (WebCore::RenderInline::offsetFromContainer):
2620         * rendering/RenderObject.cpp:
2621         (WebCore::RenderObject::computeRectForRepaint):
2622         (WebCore::RenderObject::mapLocalToContainer):
2623         (WebCore::RenderObject::mapAbsoluteToLocalPoint):
2624         (WebCore::RenderObject::offsetFromContainer):
2625         * rendering/RenderTextControlSingleLine.cpp:
2626         (WebCore::RenderTextControlInnerBlock::positionForPoint):
2627         Patched all those call sites to use the new function.
2628
2629 2012-02-21  Emil A Eklund  <eae@chromium.org>
2630
2631         Remove obsolete float comparison FIXMEs
2632         https://bugs.webkit.org/show_bug.cgi?id=79127
2633
2634         Reviewed by Eric Seidel.
2635
2636         Remove obsolete FIXME comments added back when we were planning to use
2637         floating point units for layout.
2638
2639         No new tests, no code changes.
2640
2641         * page/FrameView.cpp:
2642         (WebCore::FrameView::init):
2643         * rendering/RenderBlock.cpp:
2644         (WebCore::RenderBlock::layoutBlock):
2645         (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
2646         (WebCore::RenderBlock::getClearDelta):
2647         * rendering/RenderBox.cpp:
2648         (WebCore::RenderBox::computeLogicalHeight):
2649         (WebCore::RenderBox::computeLogicalHeightUsing):
2650         (WebCore::RenderBox::computePercentageLogicalHeight):
2651         * rendering/RenderBoxModelObject.cpp:
2652         (WebCore::ImageQualityController::shouldPaintAtLowQuality):
2653
2654 2012-02-21  Alexander Pavlov  <apavlov@chromium.org>
2655
2656         Web Inspector: it is nearly impossible to select and copy text on the Elements panel.
2657         https://bugs.webkit.org/show_bug.cgi?id=60814
2658
2659         Reviewed by Pavel Feldman.
2660
2661         * inspector/front-end/inspector.js:
2662         (WebInspector.documentClick.followLink):
2663         (WebInspector.documentClick):
2664
2665 2012-02-21  Abhishek Arya  <inferno@chromium.org>
2666
2667         Crash in RenderTableSection::nodeAtPoint.
2668         https://bugs.webkit.org/show_bug.cgi?id=78922
2669
2670         Reviewed by Julien Chaffraix.
2671
2672         Test: fast/table/table-section-node-at-point-crash.html
2673
2674         * rendering/RenderTableSection.cpp:
2675         (WebCore::RenderTableSection::nodeAtPoint): recalc cells if the
2676         m_needsCellRecalc is set. Otherwise, we will end up accessing
2677         removed table cells.
2678
2679 2012-02-21  Antti Koivisto  <antti@apple.com>
2680
2681         Move PropertySetCSSStyleDeclaration to a file of its own
2682         https://bugs.webkit.org/show_bug.cgi?id=79121
2683
2684         Rubber-stamped by Andreas Kling.
2685
2686         This makes StylePropertySet.cpp more readable.
2687
2688         * CMakeLists.txt:
2689         * GNUmakefile.list.am:
2690         * Target.pri:
2691         * WebCore.gypi:
2692         * WebCore.vcproj/WebCore.vcproj:
2693         * WebCore.xcodeproj/project.pbxproj:
2694         * css/PropertySetCSSStyleDeclaration.cpp: Copied from Source/WebCore/css/StylePropertySet.cpp.
2695         (WebCore::PropertySetCSSStyleDeclaration::ref):
2696         (WebCore::PropertySetCSSStyleDeclaration::deref):
2697         (WebCore):
2698         * css/PropertySetCSSStyleDeclaration.h: Added.
2699         (WebCore):
2700         (PropertySetCSSStyleDeclaration):
2701         (WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
2702         (WebCore::PropertySetCSSStyleDeclaration::parentElement):
2703         (WebCore::PropertySetCSSStyleDeclaration::clearParentRule):
2704         (WebCore::PropertySetCSSStyleDeclaration::clearParentElement):
2705         (WebCore::PropertySetCSSStyleDeclaration::contextStyleSheet):
2706         (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
2707         (RuleCSSStyleDeclaration):
2708         (WebCore::RuleCSSStyleDeclaration::RuleCSSStyleDeclaration):
2709         (WebCore::RuleCSSStyleDeclaration::parentRule):
2710         (WebCore::RuleCSSStyleDeclaration::clearParentRule):
2711         (InlineCSSStyleDeclaration):
2712         (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration):
2713         (WebCore::InlineCSSStyleDeclaration::parentElement):
2714         (WebCore::InlineCSSStyleDeclaration::clearParentElement):
2715         * css/StylePropertySet.cpp:
2716         (WebCore):
2717
2718 2012-02-21  Philippe Normand  <pnormand@igalia.com>
2719
2720         [GTK] WebAudio build is broken
2721         https://bugs.webkit.org/show_bug.cgi?id=79113
2722
2723         Reviewed by Martin Robinson.
2724
2725         * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
2726         (webKitWebAudioGStreamerChannelPosition): Set a default value for
2727         the position variable.
2728         * platform/audio/gtk/AudioBusGtk.cpp: Include CString.h, needed
2729         for sharedResourcesPath().
2730
2731 2012-02-21  Andreas Kling  <awesomekling@apple.com>
2732
2733         Kill FontFamilyValue.
2734         <http://webkit.org/b/79103>
2735
2736         Reviewed by Antti Koivisto.
2737
2738         Remove FontFamilyValue and replace all usage by CSSPrimitiveValue.
2739         The class was only used to filter font family names, removing bracketed
2740         suffixes, e.g "[Xft]".
2741
2742         This was added to KHTML in 2002 to support the use of specific X11 font
2743         families inside KMail: <https://bugs.kde.org/show_bug.cgi?id=38808>
2744
2745         Test: fast/css/font-family-trailing-bracket-gunk.html
2746
2747         * CMakeLists.txt:
2748         * GNUmakefile.list.am:
2749         * Target.pri:
2750         * WebCore.gypi:
2751         * WebCore.order:
2752         * WebCore.vcproj/WebCore.vcproj:
2753         * WebCore.xcodeproj/project.pbxproj:
2754         * css/CSSFontSelector.cpp:
2755         (WebCore::CSSFontSelector::addFontFaceRule):
2756         * css/CSSParser.cpp:
2757         * css/CSSStyleSelector.cpp:
2758         (WebCore::CSSStyleSelector::collectMatchingRulesForList):
2759         * css/CSSValue.cpp:
2760         (WebCore::CSSValue::cssText):
2761         (WebCore::CSSValue::destroy):
2762         * css/CSSValue.h:
2763         * css/CSSValuePool.cpp:
2764         (WebCore::CSSValuePool::createFontFamilyValue):
2765         * css/CSSValuePool.h:
2766         (CSSValuePool):
2767         * css/FontFamilyValue.cpp: Removed.
2768         * css/FontFamilyValue.h: Removed.
2769
2770 2012-02-21  Alexis Menard  <alexis.menard@openbossa.org>
2771
2772         Little optimization for CSSParser::parseFillShorthand.
2773         https://bugs.webkit.org/show_bug.cgi?id=79042
2774
2775         Reviewed by Hajime Morita.
2776
2777         Remove one extra loop that we can combine with the following one
2778         which adds the properties to the parser's list of properties. I also
2779         removed a useless check.
2780         Instruments shows on the css-parser-yui benchmark an improvement
2781         of 13ms (from 77ms spent in the function to 64ms).
2782
2783         No new tests : refactoring, existings tests should cover.
2784
2785         * css/CSSParser.cpp:
2786         (WebCore::CSSParser::parseFillShorthand):
2787
2788 2012-02-20  David Hyatt  <hyatt@apple.com>
2789
2790         https://bugs.webkit.org/show_bug.cgi?id=79046
2791         
2792         width of overflow:hidden blocks is wrong when their margins overlap floats.
2793         
2794         Relevant discussion is here: http://lists.w3.org/Archives/Public/www-style/2012Feb/0954.html
2795         
2796         This patch makes the following changes to how objects shrink when avoiding floats:
2797         (1) The containing block width used for percentage calculations is now constant. This means that
2798         an overflow:hidden block with a margin-left of 10% will no longer change what 10% means depending
2799         on the available line width. From a code perspective, containingBlockLogicalWidthForContent and
2800         containingBlockLogicalWidthForContentInRegion no longer contain any special-case code for
2801         shrinkToAvoidFloats() objects.
2802
2803         (2) Now the computation of the logical width for the shrinking object itself handles the adjustments.
2804         Two kinds of adjustments are made for both the start and end margins. Conceptually what we do is shrink
2805         the object to the available line width minus our margins, and then expand the width back out to the content edge
2806         or to the float edge as necessary. If the float fully fits in the margin, then we expand back out to the
2807         content edge. Otherwise if the float doesn't fit, then we expand only to the float edge, making sure our
2808         margin overlaps with the float. This expansion is not performed for negative margins, since our result is already
2809         correct in that case.
2810         
2811         Reviewed by Dan Bernstein.
2812
2813         Added the new tests from the thread on www-style about this issue (from Alan Gresley and George Talbot)
2814         in fast/block/float.
2815
2816         * rendering/RenderBlock.cpp:
2817         (WebCore::RenderBlock::containsFloat):
2818         * rendering/RenderBlock.h:
2819         (WebCore::RenderBlock::containsFloats):
2820         Changed to be const.
2821
2822         (WebCore::RenderBlock::endOffsetForLine):
2823         (WebCore::RenderBlock::endOffsetForContent):
2824         Added endOffsetForXXX methods to mirror their startOffset counterparts. Used by the width adjustment code.
2825
2826         * rendering/RenderBox.cpp:
2827         (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):
2828         New method that handles shrinking the logical width to the line width (and then re-expanding back out to the
2829         float and/or content edges as needed).
2830
2831         (WebCore::RenderBox::containingBlockLogicalWidthForContent):
2832         (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
2833         Patched to no longer do the shrinking of objects to avoid floats.
2834
2835         (WebCore::RenderBox::computeLogicalWidthInRegion):
2836         (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
2837         Patched to handle calling the new shrinking code to adjust our logical width.
2838
2839         * rendering/RenderBox.h:
2840         (RenderBox):
2841         The signature of computeLogicalWithUsing changed to be region-specific and to carry along enough information
2842         to efficiently perform the shrinking.
2843
2844         * rendering/RenderTable.cpp:
2845         (WebCore::RenderTable::computeLogicalWidth):
2846         Patched to handle calling the new shrinking code to adjust our logical width.
2847
2848 2012-02-21  Sam Weinig  <sam@webkit.org>
2849
2850         Attempt to fix the Snow Leopard build.
2851
2852         * Configurations/Base.xcconfig:
2853
2854 2012-02-21  Sam Weinig  <sam@webkit.org>
2855
2856         Use libc++ when building with Clang on Mac
2857         https://bugs.webkit.org/show_bug.cgi?id=78981
2858
2859         Reviewed by Dan Bernstein.
2860
2861         * Configurations/Base.xcconfig:
2862
2863 2012-02-21  Adam Roben  <aroben@apple.com>
2864
2865         Mac build fix
2866
2867         * WebCore.xcodeproj/project.pbxproj: Mark TextTrack.h and TextTrackCue.h private so that
2868         WebKit can include them.
2869
2870 2012-02-21  Andras Becsi  <andras.becsi@nokia.com>
2871
2872         [Qt][WK2] Fix the N9 build
2873         https://bugs.webkit.org/show_bug.cgi?id=79101
2874
2875         Reviewed by Noam Rosenthal.
2876
2877         No new tests needed.
2878
2879         * platform/graphics/opengl/TextureMapperGL.cpp: Add missing include.
2880
2881 2012-02-21  Adam Roben  <aroben@apple.com>
2882
2883         Roll out r108309, r108323, and r108326
2884
2885         They broke the 32-bit Lion build.
2886
2887         Original bugs is <http://webkit.org/b/75812> <rdar://problem/10079694>.
2888
2889         * CMakeLists.txt:
2890
2891 2012-02-21  Alexander Pavlov  <apavlov@chromium.org>
2892
2893         Web Inspector: [SuggestBox] textPrompt.css disablement displays garbled suggest box
2894         https://bugs.webkit.org/show_bug.cgi?id=79107
2895
2896         Reviewed by Pavel Feldman.
2897
2898         * inspector/front-end/TextPrompt.js:
2899         (WebInspector.TextPrompt.SuggestBox):
2900         (WebInspector.TextPrompt.SuggestBox.prototype.get visible):
2901         (WebInspector.TextPrompt.SuggestBox.prototype.hide):
2902         (WebInspector.TextPrompt.SuggestBox.prototype.removeFromElement):
2903         (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
2904         * inspector/front-end/textPrompt.css:
2905         (.suggest-box):
2906
2907 2012-02-21  Yury Semikhatsky  <yurys@chromium.org>
2908
2909         Web Inspector: timeline hangs on a page with deep chain of nested events.
2910         https://bugs.webkit.org/show_bug.cgi?id=79106
2911
2912         Use stack of states instead of recursive calls when traversing records tree to
2913         avoid stack overflow.
2914
2915         Reviewed by Pavel Feldman.
2916
2917         * inspector/front-end/TimelineOverviewPane.js:
2918         (WebInspector.TimelineOverviewPane.prototype._forAllRecords):
2919         * inspector/front-end/TimelinePanel.js:
2920         (WebInspector.TimelinePanel.prototype._filterRecords):
2921
2922 2012-02-21  Pavel Feldman  <pfeldman@google.com>
2923
2924         Web Inspector: [crash] upon style modification after navigation
2925         https://bugs.webkit.org/show_bug.cgi?id=79108
2926
2927         Reviewed by Yury Semikhatsky.
2928
2929         * inspector/InspectorHistory.cpp:
2930         (WebCore::InspectorHistory::undo):
2931         (WebCore::InspectorHistory::redo):
2932         (WebCore::InspectorHistory::reset):
2933
2934 2012-02-21  Patrick Gansterer  <paroga@webkit.org>
2935
2936         Use WTF::cryptographicallyRandomValues in FileSystemWin.cpp
2937         https://bugs.webkit.org/show_bug.cgi?id=79089
2938
2939         Reviewed by Adam Roben.
2940
2941         Avoid loading and unloading of the crypto library during every
2942         call to openTemporaryFile() and make the code easier.
2943
2944         * platform/win/FileSystemWin.cpp:
2945         (WebCore::openTemporaryFile):
2946
2947 2012-02-21  Alexander Færøy  <alexander.faeroy@nokia.com>
2948
2949         Remove stylesheet pointer from StylePropertySet
2950         https://bugs.webkit.org/show_bug.cgi?id=79092
2951
2952         Reviewed by Csaba Osztrogonác.
2953
2954         Qt buildfix after r108345.
2955
2956         * css/CSSParser.cpp:
2957         (WebCore::parseColorValue):
2958
2959 2012-02-21  Csaba Osztrogonác  <ossy@webkit.org>
2960
2961         Remove stylesheet pointer from StylePropertySet
2962         https://bugs.webkit.org/show_bug.cgi?id=79092
2963
2964         Reviewed by Antti Koivisto.
2965
2966         Qt buildfix after r108345. We need this workaround because of buggy gcc (4.4.5), which
2967         reported a false warning: 'value$m_ptr' may be used uninitialized in this function
2968
2969         * css/CSSParser.cpp:
2970         (WebCore::parseSimpleLengthValue):
2971
2972 2012-02-21  Andreas Kling  <awesomekling@apple.com>
2973
2974         Shrink attribute style property sets after populating them.
2975         <http://webkit.org/b/78972>
2976
2977         Reviewed by Antti Koivisto.
2978
2979         Add a StylePropertySet::shrinkToFit() and call it at the end of updateStyleAttribute()
2980         to minimize the amount of wasted space.
2981
2982         * css/StylePropertySet.h:
2983         (WebCore::StylePropertySet::shrinkToFit):
2984         * dom/StyledElement.cpp:
2985         (WebCore::StyledElement::updateAttributeStyle):
2986
2987 2012-02-21  Antti Koivisto  <antti@apple.com>
2988
2989         Remove stylesheet pointer from StylePropertySet
2990         https://bugs.webkit.org/show_bug.cgi?id=79092
2991
2992         Reviewed by Andreas Kling.
2993
2994         The context should be passed as an argument for CSS parser invoking setters that actually need it.
2995         
2996         - Remove the context stylesheet pointer.
2997         - Add context stylesheet argument to setters.
2998         - Drop an unnecessary StylePropertySet constructor, pass strict parsing flag directly.
2999         - Adapt to changes by passing in the context stylesheet where needed.
3000         - Add StyledElement::applyPresentationAttributeToStyle helpers for building up the attribute style.
3001
3002         * css/CSSFontFaceRule.cpp:
3003         (WebCore::CSSFontFaceRule::addSubresourceStyleURLs):
3004         * css/CSSParser.cpp:
3005         (WebCore::parseColorValue):
3006         (WebCore::parseSimpleLengthValue):
3007         (WebCore::CSSParser::parseValue):
3008         (WebCore::CSSParser::parseDeclaration):
3009         (WebCore::CSSParser::createStyleRule):
3010         (WebCore::CSSParser::createFontFaceRule):
3011         (WebCore::CSSParser::createPageRule):
3012         (WebCore::CSSParser::createKeyframeRule):
3013         * css/CSSParser.h:
3014         (CSSParser):
3015         * css/CSSStyleRule.cpp:
3016         (WebCore::CSSStyleRule::addSubresourceStyleURLs):
3017         * css/StylePropertySet.cpp:
3018         (WebCore::PropertySetCSSStyleDeclaration::contextStyleSheet):
3019         (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
3020         (RuleCSSStyleDeclaration):
3021         (InlineCSSStyleDeclaration):
3022         (WebCore):
3023         (WebCore::StylePropertySet::StylePropertySet):
3024         (WebCore::StylePropertySet::setProperty):
3025         (WebCore::StylePropertySet::parseDeclaration):
3026         (WebCore::StylePropertySet::addSubresourceStyleURLs):
3027         (WebCore::StylePropertySet::clearParentRule):
3028         (WebCore::StylePropertySet::clearParentElement):
3029         (WebCore::PropertySetCSSStyleDeclaration::setCssText):
3030         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
3031         (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
3032         (WebCore::PropertySetCSSStyleDeclaration::parentStyleSheet):
3033         (WebCore::RuleCSSStyleDeclaration::setNeedsStyleRecalc):
3034         (WebCore::RuleCSSStyleDeclaration::contextStyleSheet):
3035         (WebCore::InlineCSSStyleDeclaration::contextStyleSheet):
3036         (SameSizeAsStylePropertySet):
3037         * css/StylePropertySet.h:
3038         (WebCore::StylePropertySet::create):
3039         (StylePropertySet):
3040         * css/WebKitCSSMatrix.cpp:
3041         (WebCore::WebKitCSSMatrix::setMatrixValue):
3042         * dom/ElementAttributeData.cpp:
3043         (WebCore::ElementAttributeData::ensureInlineStyleDecl):
3044         * dom/StyledElement.cpp:
3045         (WebCore):
3046         (WebCore::StyledElement::parseAttribute):
3047         (WebCore::StyledElement::setInlineStyleProperty):
3048         (WebCore::StyledElement::addSubresourceAttributeURLs):
3049         (WebCore::StyledElement::updateAttributeStyle):
3050         * dom/StyledElement.h:
3051         (StyledElement):
3052         (WebCore::StyledElement::applyPresentationAttributeToStyle):
3053         (WebCore):
3054         * html/HTMLBRElement.cpp:
3055         (WebCore::HTMLBRElement::collectStyleForAttribute):
3056         * html/HTMLBodyElement.cpp:
3057         (WebCore::HTMLBodyElement::collectStyleForAttribute):
3058         * html/HTMLDivElement.cpp:
3059         (WebCore::HTMLDivElement::collectStyleForAttribute):
3060         * html/HTMLElement.cpp:
3061         (WebCore::HTMLElement::applyBorderAttributeToStyle):
3062         (WebCore::HTMLElement::mapLanguageAttributeToLocale):
3063         (WebCore::HTMLElement::collectStyleForAttribute):
3064         (WebCore::HTMLElement::applyAlignmentAttributeToStyle):
3065         (WebCore::HTMLElement::addHTMLLengthToStyle):
3066         (WebCore::HTMLElement::addHTMLColorToStyle):
3067         * html/HTMLElement.h:
3068         (HTMLElement):
3069         * html/HTMLFontElement.cpp:
3070         (WebCore::HTMLFontElement::collectStyleForAttribute):
3071         * html/HTMLHRElement.cpp:
3072         (WebCore::HTMLHRElement::collectStyleForAttribute):
3073         * html/HTMLImageElement.cpp:
3074         (WebCore::HTMLImageElement::collectStyleForAttribute):
3075         * html/HTMLLIElement.cpp:
3076         (WebCore::HTMLLIElement::collectStyleForAttribute):
3077         * html/HTMLMarqueeElement.cpp:
3078         (WebCore::HTMLMarqueeElement::collectStyleForAttribute):
3079         * html/HTMLOListElement.cpp:
3080         (WebCore::HTMLOListElement::collectStyleForAttribute):
3081         * html/HTMLParagraphElement.cpp:
3082         (WebCore::HTMLParagraphElement::collectStyleForAttribute):
3083         * html/HTMLTableCaptionElement.cpp:
3084         (WebCore::HTMLTableCaptionElement::collectStyleForAttribute):
3085         * html/HTMLTableCellElement.cpp:
3086         (WebCore::HTMLTableCellElement::collectStyleForAttribute):
3087         * html/HTMLTableElement.cpp:
3088         (WebCore::HTMLTableElement::collectStyleForAttribute):
3089         * html/HTMLTablePartElement.cpp:
3090         (WebCore::HTMLTablePartElement::collectStyleForAttribute):
3091         * html/HTMLTextAreaElement.cpp:
3092         (WebCore::HTMLTextAreaElement::collectStyleForAttribute):
3093         * html/HTMLUListElement.cpp:
3094         (WebCore::HTMLUListElement::collectStyleForAttribute):
3095         * html/canvas/CanvasRenderingContext2D.cpp:
3096         (WebCore::CanvasRenderingContext2D::setFont):
3097         * mathml/MathMLElement.cpp:
3098         (WebCore::MathMLElement::collectStyleForAttribute):
3099         * svg/SVGFontFaceElement.cpp:
3100         (WebCore::SVGFontFaceElement::insertedIntoDocument):
3101         (WebCore::SVGFontFaceElement::removedFromDocument):
3102         (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
3103         * svg/SVGImageElement.cpp:
3104         (WebCore::SVGImageElement::collectStyleForAttribute):
3105         * svg/SVGStyledElement.cpp:
3106         (WebCore::SVGStyledElement::collectStyleForAttribute):
3107         * svg/SVGTextContentElement.cpp:
3108         (WebCore::SVGTextContentElement::collectStyleForAttribute):
3109
3110 2012-02-21  Yury Semikhatsky  <yurys@chromium.org>
3111
3112         [V8] Web Inspector: set breakpoint/pause doesn't work when worker is in a tight loop
3113         https://bugs.webkit.org/show_bug.cgi?id=79097
3114
3115         Worker script will be interrupted to dispatch all arriving inspector commands.
3116         This way debugger will be operable even if worker is in a tight loop.
3117
3118         Reviewed by Pavel Feldman.
3119
3120         * bindings/js/ScriptDebugServer.h:
3121         (Task):
3122         (WebCore::ScriptDebugServer::Task::~Task):
3123         (ScriptDebugServer):
3124         * bindings/js/WorkerScriptDebugServer.cpp:
3125         (WebCore::WorkerScriptDebugServer::interruptAndRunTask):
3126         (WebCore):
3127         * bindings/js/WorkerScriptDebugServer.h:
3128         (WorkerScriptDebugServer):
3129         * bindings/v8/ScriptDebugServer.cpp:
3130         (WebCore::ScriptDebugServer::interruptAndRun):
3131         * bindings/v8/ScriptDebugServer.h:
3132         (ScriptDebugServer):
3133         * bindings/v8/WorkerScriptDebugServer.cpp:
3134         (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
3135         (WebCore::WorkerScriptDebugServer::interruptAndRunTask):
3136         (WebCore):
3137         * bindings/v8/WorkerScriptDebugServer.h:
3138         (v8):
3139         (WebCore):
3140         (WorkerScriptDebugServer):
3141         * inspector/WorkerDebuggerAgent.cpp:
3142         (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
3143         (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
3144         (WebCore):
3145         (WebCore::WorkerDebuggerAgent::interruptAndDispatchInspectorCommands):
3146         * inspector/WorkerDebuggerAgent.h:
3147         (WebCore):
3148         (WorkerDebuggerAgent):
3149         * workers/WorkerMessagingProxy.cpp:
3150         (WebCore):
3151         (WebCore::WorkerMessagingProxy::sendMessageToInspector):
3152         * workers/WorkerRunLoop.cpp:
3153         (WebCore::WorkerRunLoop::run):
3154         (WebCore::WorkerRunLoop::runInMode):
3155         * workers/WorkerRunLoop.h:
3156         (WorkerRunLoop):
3157
3158 2012-02-21  'Pavel Feldman'  <pfeldman@google.com>
3159
3160         Not reviewed: fixing Mac build (take 2).
3161
3162         * inspector/InspectorPageAgent.cpp:
3163         (WebCore::InspectorPageAgent::setShowPaintRects):
3164
3165 2012-02-21  'Pavel Feldman'  <pfeldman@google.com>
3166
3167         Not reviewed: fixing Mac build.
3168
3169         * inspector/DOMNodeHighlighter.cpp:
3170         (WebCore::DOMNodeHighlighter::drawOutline):
3171         * inspector/DOMNodeHighlighter.h:
3172         (DOMNodeHighlighter):
3173         * inspector/InspectorInstrumentation.cpp:
3174         (WebCore::InspectorInstrumentation::willPaintImpl):
3175         * inspector/InspectorInstrumentation.h:
3176         (InspectorInstrumentation):
3177         (WebCore::InspectorInstrumentation::willPaint):
3178         * inspector/InspectorPageAgent.cpp:
3179         (WebCore::InspectorPageAgent::InspectorPageAgent):
3180         (WebCore::InspectorPageAgent::willPaint):
3181         (WebCore::InspectorPageAgent::didPaint):
3182         * inspector/InspectorPageAgent.h:
3183
3184 2012-02-21  Peter Rybin  <peter.rybin@gmail.com>
3185
3186         Web Inspector: Switch Debugger agent to TypeBuilder
3187         https://bugs.webkit.org/show_bug.cgi?id=78390
3188
3189         Reviewed by Vsevolod Vlasov.
3190
3191         Client code is switched to TypeBuilder.
3192
3193         * inspector/CodeGeneratorInspector.py:
3194         * inspector/InjectedScript.cpp:
3195         (WebCore::InjectedScript::evaluateOnCallFrame):
3196         (WebCore::InjectedScript::getFunctionDetails):
3197         (WebCore::InjectedScript::getProperties):
3198         (WebCore::InjectedScript::wrapCallFrames):
3199         * inspector/InjectedScript.h:
3200         (InjectedScript):
3201         * inspector/InspectorDebuggerAgent.cpp:
3202         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
3203         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
3204         (WebCore::InspectorDebuggerAgent::getFunctionDetails):
3205         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
3206         (WebCore::InspectorDebuggerAgent::currentCallFrames):
3207         (WebCore::InspectorDebuggerAgent::didParseSource):
3208         * inspector/InspectorDebuggerAgent.h:
3209         (InspectorDebuggerAgent):
3210
3211 2012-02-21  'Pavel Feldman'  <pfeldman@google.com>
3212
3213         Not reviewed: fixing poor merge in r108332.
3214
3215         * inspector/front-end/StylesSidebarPane.js:
3216         (WebInspector.StylePropertiesSection.prototype._handleSelectorClick):
3217         * inspector/front-end/externs.js:
3218
3219 2012-02-21  Alexander Pavlov  <apavlov@chromium.org>
3220
3221         Web Inspector: [Styles] Rule source URL tooltip should show line number
3222         https://bugs.webkit.org/show_bug.cgi?id=79087
3223
3224         Reviewed by Pavel Feldman.
3225
3226         * inspector/front-end/StylesSidebarPane.js:
3227         (WebInspector.StylePropertiesSection):
3228         (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):
3229
3230 2012-02-21  Pavel Feldman  <pfeldman@chomium.org>
3231
3232         Web Inspector: clicking empty space should not re-enter edit mode
3233         https://bugs.webkit.org/show_bug.cgi?id=79024
3234
3235         Reviewed by Vsevolod Vlasov.
3236
3237         * inspector/front-end/StylesSidebarPane.js:
3238         (WebInspector.StylePropertiesSection):
3239         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceMouseDown):
3240         (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
3241
3242 2012-02-21  Pavel Feldman  <pfeldman@chomium.org>
3243
3244         Web Inspector: evaluate on hover does not work for large files.
3245         https://bugs.webkit.org/show_bug.cgi?id=79015
3246
3247         Reviewed by Yury Semikhatsky.
3248
3249         * inspector/front-end/JavaScriptSourceFrame.js:
3250         (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
3251         (WebInspector.JavaScriptSourceFrame.prototype._highlightExpression):
3252         * inspector/front-end/Popover.js:
3253         (WebInspector.PopoverHelper.prototype._handleMouseAction):
3254         * inspector/front-end/SourceJavaScriptTokenizer.js:
3255         (WebInspector.SourceJavaScriptTokenizer):
3256         (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
3257         * inspector/front-end/SourceJavaScriptTokenizer.re2js:
3258
3259 2012-02-21  Pavel Feldman  <pfeldman@google.com>
3260
3261         Web Inspector: add "show paint rectangles" setting.
3262         https://bugs.webkit.org/show_bug.cgi?id=79030
3263
3264         Reviewed by Yury Semikhatsky.
3265
3266         * English.lproj/localizedStrings.js:
3267         * inspector/DOMNodeHighlighter.cpp:
3268         (WebCore::DOMNodeHighlighter::drawOutline):
3269         (DOMNodeHighlighter):
3270         * inspector/DOMNodeHighlighter.h:
3271         (WebCore):
3272         (DOMNodeHighlighter):
3273         * inspector/Inspector.json:
3274         * inspector/InspectorController.cpp:
3275         (WebCore::InspectorController::InspectorController):
3276         * inspector/InspectorInstrumentation.cpp:
3277         (WebCore::InspectorInstrumentation::willPaintImpl):
3278         (WebCore::InspectorInstrumentation::didPaintImpl):
3279         * inspector/InspectorInstrumentation.h:
3280         (WebCore):
3281         (InspectorInstrumentation):
3282         (WebCore::InspectorInstrumentation::willPaint):
3283         * inspector/InspectorPageAgent.cpp:
3284         (PageAgentState):
3285         (WebCore::InspectorPageAgent::create):
3286         (WebCore::InspectorPageAgent::InspectorPageAgent):
3287         (WebCore::InspectorPageAgent::setShowPaintRects):
3288         (WebCore):
3289         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
3290         (WebCore::InspectorPageAgent::willPaint):
3291         (WebCore::InspectorPageAgent::didPaint):
3292         (WebCore::InspectorPageAgent::buildObjectForFrame):
3293         * inspector/InspectorPageAgent.h:
3294         (WebCore):
3295         * inspector/front-end/Settings.js:
3296         (WebInspector.Settings):
3297         * inspector/front-end/SettingsScreen.js:
3298         (WebInspector.SettingsScreen):
3299         (WebInspector.SettingsScreen.prototype._showPaintRectsChanged):
3300         * inspector/front-end/inspector.js:
3301         * page/FrameView.cpp:
3302         (WebCore::FrameView::paintContents):
3303         * rendering/RenderLayerBacking.cpp:
3304         (WebCore::RenderLayerBacking::paintContents):
3305
3306 2012-02-21  Andras Becsi  <andras.becsi@nokia.com>
3307
3308         [Qt] Clean-up project file after r108310
3309
3310         Reviewed by Csaba Osztrogonác.
3311
3312         No new tests needed.
3313
3314         * Target.pri: Fix path for TextTrack headers.
3315
3316 2012-02-17  Philippe Normand  <pnormand@igalia.com>
3317
3318         [GStreamer] media/W3C failures
3319         https://bugs.webkit.org/show_bug.cgi?id=75078
3320
3321         Reviewed by Martin Robinson.
3322
3323         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3324         (WebCore::MediaPlayerPrivateGStreamer::load): Clean out everything
3325         after file:// url path to cope with media/W3C tests loading
3326         file:///path/to/media.ext?some parameters.
3327
3328 2012-02-21  Matt Lilek  <mrl@apple.com>
3329
3330         Not reviewed, build fix for non-client-based Geolocation builds after r107982.
3331
3332         * page/Geolocation.cpp:
3333
3334 2012-02-21  Yury Semikhatsky  <yurys@chromium.org>
3335
3336         [V8] Web Inspector: simplify worker debugger implementation
3337         https://bugs.webkit.org/show_bug.cgi?id=79085
3338
3339         There is one instance of WorkerScriptDebugServer per worker thread. We don't
3340         need to resolve WorkerContext from V8::Context anymore.
3341
3342         Reviewed by Pavel Feldman.
3343
3344         * bindings/v8/WorkerScriptDebugServer.cpp:
3345         (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
3346         (WebCore::WorkerScriptDebugServer::addListener):
3347         (WebCore::WorkerScriptDebugServer::removeListener):
3348         (WebCore::WorkerScriptDebugServer::getDebugListenerForContext):
3349         (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
3350         * bindings/v8/WorkerScriptDebugServer.h:
3351         (WorkerScriptDebugServer):
3352         * inspector/WorkerDebuggerAgent.cpp:
3353         (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
3354         (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer):
3355         (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
3356
3357 2012-02-21  Kentaro Hara  <haraken@chromium.org>
3358
3359         Enable the IDL attribute checker in Chromium
3360         https://bugs.webkit.org/show_bug.cgi?id=79082
3361
3362         Reviewed by Adam Barth.
3363
3364         We have fixed 10~ bugs caused by typos of IDL attributes.
3365         This patch adds an IDL attribute checker, which checks if all IDL attributes
3366         used in IDL files are implemented by code generators.
3367
3368             - The IDL attribute checker uses IDLAttributes.txt, which lists all
3369               IDL attributes implemented in code generators. If we want to add
3370               a new IDL attribute, we need to add it to IDLAttributes.txt manually.
3371             - The IDL attribute checker checks if all IDL attributes used in IDL files
3372               are listed in IDLAttributes.txt.
3373             - If the IDL attribute checker fails, the build fails with a verbose error message.
3374
3375         No tests. I manually checked that [Custommm], [CallWith=],
3376         [CallWith=ScriptExecutionContext|Foo] cause build failures.
3377
3378         * WebCore.gyp/WebCore.gyp: Modified to enable the IDL attribute checker.
3379
3380         * bindings/scripts/resolve-supplemental.pl:
3381         (loadIDLAttributes): This method loads a list of IDL attributes from IDLAttributes.txt.
3382         (checkIDLAttributes): This method implementes the IDL attribute checker as described above.
3383         (checkIfIDLAttributesExists):
3384
3385         * bindings/scripts/IDLParser.pm: "1" is not good to represent that
3386         the IDL attribute does not have any value. This patch changed it to "VALUE_IS_MISSING".
3387         (parseExtendedAttributes):
3388         (ParseInterface):
3389         * bindings/scripts/CodeGenerator.pm: Ditto.
3390         (ContentAttributeName):
3391         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
3392         (GenerateNormalAttrGetter):
3393         (GenerateNormalAttrSetter):
3394         (GenerateSingleBatchedAttribute):
3395         (GetRuntimeEnableFunctionName):
3396         * bindings/scripts/IDLAttributes.txt: Added. This file lists all IDL attributes implemented
3397         in code generators.
3398
3399 2012-02-21  Patrick Gansterer  <paroga@webkit.org>
3400
3401         Use Win32 API to get file information
3402         https://bugs.webkit.org/show_bug.cgi?id=55336
3403
3404         Reviewed by Adam Roben.
3405
3406         Use FindFirstFile() in favour over _wstat64() to share the code with WinCE.
3407
3408         * platform/win/FileSystemWin.cpp:
3409         (WebCore):
3410         (WebCore::getFindData):
3411         (WebCore::getFileSize):
3412         (WebCore::getFileModificationTime):
3413         (WebCore::fileExists):
3414
3415 2012-02-20  Adam Barth  <abarth@webkit.org>
3416
3417         Invalid cast in WebCore::toElement / WebCore::HTMLElementStack::ElementRecord::element
3418         https://bugs.webkit.org/show_bug.cgi?id=78975
3419
3420         Reviewed by Eric Seidel.
3421
3422         We're supposed to set the action attribute on the form element we just
3423         created.  Previously, we assumed the newly created form element would
3424         be on the top of the stack of open elements, but if we're in the table
3425         body insertion mode, the form element gets treated as self closing and
3426         is therefore popped off the stack of open elements.
3427
3428         Fortunately, we already cache a pointer to the most recently inserted
3429         form element on the HTMLConstructionSite, so we can just grab the
3430         element from there.
3431
3432         Test: html5lib/runner.html
3433
3434         * html/parser/HTMLTreeBuilder.cpp:
3435         (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
3436         (WebCore):
3437
3438 2012-02-20  Adam Barth  <abarth@webkit.org>
3439
3440         Unite TextTrack-related files with their friends in WebCore/html/track
3441         https://bugs.webkit.org/show_bug.cgi?id=78941
3442
3443         Reviewed by Eric Seidel.
3444
3445         The code that supports <track> seems to be split between the
3446         WebCore/html directory and the WebCore/html/track directory.  This
3447         patch unites this code in the WebCore/html/track directory.
3448
3449         * CMakeLists.txt:
3450         * DerivedSources.make:
3451         * DerivedSources.pri:
3452         * GNUmakefile.list.am:
3453         * WebCore.gypi:
3454         * WebCore.xcodeproj/project.pbxproj:
3455         * html/LoadableTextTrack.cpp: Removed.
3456         * html/LoadableTextTrack.h: Removed.
3457         * html/TextTrack.cpp: Removed.
3458         * html/TextTrack.h: Removed.
3459         * html/TextTrack.idl: Removed.
3460         * html/TextTrackCue.cpp: Removed.
3461         * html/TextTrackCue.h: Removed.
3462         * html/TextTrackCue.idl: Removed.
3463         * html/TextTrackCueList.cpp: Removed.
3464         * html/TextTrackCueList.h: Removed.
3465         * html/TextTrackCueList.idl: Removed.
3466         * html/track/LoadableTextTrack.cpp: Copied from Source/WebCore/html/LoadableTextTrack.cpp.
3467         * html/track/LoadableTextTrack.h: Copied from Source/WebCore/html/LoadableTextTrack.h.
3468         * html/track/TextTrack.cpp: Copied from Source/WebCore/html/TextTrack.cpp.
3469         * html/track/TextTrack.h: Copied from Source/WebCore/html/TextTrack.h.
3470         * html/track/TextTrack.idl: Copied from Source/WebCore/html/TextTrack.idl.
3471         * html/track/TextTrackCue.cpp: Copied from Source/WebCore/html/TextTrackCue.cpp.
3472         * html/track/TextTrackCue.h: Copied from Source/WebCore/html/TextTrackCue.h.
3473         * html/track/TextTrackCue.idl: Copied from Source/WebCore/html/TextTrackCue.idl.
3474         * html/track/TextTrackCueList.cpp: Copied from Source/WebCore/html/TextTrackCueList.cpp.
3475         * html/track/TextTrackCueList.h: Copied from Source/WebCore/html/TextTrackCueList.h.
3476         * html/track/TextTrackCueList.idl: Copied from Source/WebCore/html/TextTrackCueList.idl.
3477
3478 2012-02-20  Filip Pizlo  <fpizlo@apple.com>
3479
3480         JSC should be a triple-tier VM
3481         https://bugs.webkit.org/show_bug.cgi?id=75812
3482         <rdar://problem/10079694>
3483
3484         Reviewed by Gavin Barraclough.
3485         
3486         No new tests, because there is no change in behavior.
3487
3488         * CMakeLists.txt:
3489
3490 2012-02-20  Benjamin Poulain  <benjamin@webkit.org>
3491
3492         Get rid of the LocalizationStrategy
3493         https://bugs.webkit.org/show_bug.cgi?id=78324
3494
3495         Reviewed by Sam Weinig.
3496
3497         Remove LocalizationStrategy and unify the localization behind
3498         LocalizedStrings.h and LocalizedStrings.cpp.
3499
3500         * CMakeLists.txt:
3501         * GNUmakefile.list.am:
3502         * Target.pri:
3503         * WebCore.exp.in:
3504         * WebCore.gypi:
3505         * WebCore.order:
3506         * WebCore.vcproj/WebCore.vcproj:
3507         * WebCore.xcodeproj/project.pbxproj: